@cowprotocol/cow-sdk 6.0.0-RC.9 → 6.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (240) hide show
  1. package/README.md +3 -1
  2. package/dist/README.md +3 -1
  3. package/dist/bridging/BridgingSdk/BridgingSdk.d.ts +87 -63
  4. package/dist/bridging/BridgingSdk/findBridgeProviderFromHook.d.ts +2 -0
  5. package/dist/bridging/BridgingSdk/getBridgeSignedHook.d.ts +8 -0
  6. package/dist/bridging/BridgingSdk/getCrossChainOrder.d.ts +16 -0
  7. package/dist/bridging/BridgingSdk/getQuoteWithBridge.d.ts +3 -0
  8. package/dist/bridging/BridgingSdk/getQuoteWithoutBridge.d.ts +7 -7
  9. package/dist/bridging/BridgingSdk/mock/bridgeRequestMocks.d.ts +20 -0
  10. package/dist/bridging/BridgingSdk/types.d.ts +43 -0
  11. package/dist/bridging/const.d.ts +4 -2
  12. package/dist/bridging/errors.d.ts +22 -0
  13. package/dist/bridging/index.d.ts +8 -5
  14. package/dist/bridging/providers/across/AcrossApi.d.ts +30 -195
  15. package/dist/bridging/providers/across/AcrossBridgeProvider.d.ts +44 -41
  16. package/dist/bridging/providers/across/abi.d.ts +154 -154
  17. package/dist/bridging/providers/across/const/contracts.d.ts +3 -3
  18. package/dist/bridging/providers/across/const/interfaces.d.ts +3 -0
  19. package/dist/bridging/providers/across/const/misc.d.ts +2 -0
  20. package/dist/bridging/providers/across/const/tokens.d.ts +11 -11
  21. package/dist/bridging/providers/across/createAcrossDepositCall.d.ts +9 -9
  22. package/dist/bridging/providers/across/getDepositParams.d.ts +4 -0
  23. package/dist/bridging/providers/across/types.d.ts +242 -0
  24. package/dist/bridging/providers/across/util.d.ts +43 -39
  25. package/dist/bridging/providers/bungee/BungeeApi.d.ts +67 -0
  26. package/dist/bridging/providers/bungee/BungeeBridgeProvider.d.ts +44 -0
  27. package/dist/bridging/providers/bungee/abi.d.ts +203 -0
  28. package/dist/bridging/providers/bungee/const/contracts.d.ts +4 -0
  29. package/dist/bridging/providers/bungee/const/misc.d.ts +8 -0
  30. package/dist/bridging/providers/bungee/createBungeeDepositCall.d.ts +7 -0
  31. package/dist/bridging/providers/bungee/getBridgingStatusFromEvents.d.ts +3 -0
  32. package/dist/bridging/providers/bungee/types.d.ts +267 -0
  33. package/dist/bridging/providers/bungee/util.d.ts +62 -0
  34. package/dist/bridging/providers/mock/MockBridgeProvider.d.ts +26 -20
  35. package/dist/bridging/providers/utils/getGasLimitEstimationForHook.d.ts +4 -0
  36. package/dist/bridging/types.d.ts +323 -251
  37. package/dist/bridging/utils.d.ts +9 -6
  38. package/dist/chains/const/index.d.ts +25 -25
  39. package/dist/chains/const/path.d.ts +1 -1
  40. package/dist/chains/details/arbitrum.d.ts +7 -7
  41. package/dist/chains/details/avalanche.d.ts +2 -0
  42. package/dist/chains/details/base.d.ts +7 -7
  43. package/dist/chains/details/gnosis.d.ts +7 -7
  44. package/dist/chains/details/index.d.ts +8 -0
  45. package/dist/chains/details/mainnet.d.ts +7 -7
  46. package/dist/chains/details/optimism.d.ts +2 -2
  47. package/dist/chains/details/polygon.d.ts +2 -2
  48. package/dist/chains/details/sepolia.d.ts +7 -7
  49. package/dist/chains/index.d.ts +4 -3
  50. package/dist/chains/types.d.ts +127 -122
  51. package/dist/chains/utils.d.ts +18 -18
  52. package/dist/common/consts/config.d.ts +9 -9
  53. package/dist/common/consts/contracts.d.ts +43 -34
  54. package/dist/common/consts/ipfs.d.ts +2 -2
  55. package/dist/common/consts/order.d.ts +1 -0
  56. package/dist/common/consts/path.d.ts +1 -1
  57. package/dist/common/consts/tokens.d.ts +9 -9
  58. package/dist/common/generated/CoWShed.d.ts +219 -219
  59. package/dist/common/generated/CoWShedFactory.d.ts +191 -191
  60. package/dist/common/generated/ComposableCoW.d.ts +340 -340
  61. package/dist/common/generated/EthFlow.d.ts +117 -117
  62. package/dist/common/generated/ExtensibleFallbackHandler.d.ts +282 -282
  63. package/dist/common/generated/GPv2Settlement.d.ts +107 -107
  64. package/dist/common/generated/TWAP.d.ts +141 -141
  65. package/dist/common/generated/common.d.ts +21 -21
  66. package/dist/common/generated/factories/CoWShedFactory__factory.d.ts +250 -250
  67. package/dist/common/generated/factories/CoWShed__factory.d.ts +254 -254
  68. package/dist/common/generated/factories/ComposableCoW__factory.d.ts +475 -475
  69. package/dist/common/generated/factories/EthFlow__factory.d.ts +124 -124
  70. package/dist/common/generated/factories/ExtensibleFallbackHandler__factory.d.ts +389 -389
  71. package/dist/common/generated/factories/GPv2Settlement__factory.d.ts +81 -81
  72. package/dist/common/generated/factories/TWAP__factory.d.ts +260 -260
  73. package/dist/common/generated/factories/index.d.ts +7 -7
  74. package/dist/common/generated/index.d.ts +15 -15
  75. package/dist/common/index.d.ts +12 -10
  76. package/dist/common/types/config.d.ts +70 -70
  77. package/dist/common/types/cow-error.d.ts +4 -4
  78. package/dist/common/types/ethereum.d.ts +5 -5
  79. package/dist/common/types/tokens.d.ts +12 -12
  80. package/dist/common/types/wallets.d.ts +5 -5
  81. package/dist/common/utils/common.d.ts +1 -0
  82. package/dist/common/utils/config.d.ts +4 -4
  83. package/dist/common/utils/log.d.ts +2 -0
  84. package/dist/common/utils/math.d.ts +19 -0
  85. package/dist/common/utils/order.d.ts +4 -0
  86. package/dist/common/utils/serialize.d.ts +1 -1
  87. package/dist/common/utils/wallet.d.ts +3 -3
  88. package/dist/composable/ConditionalOrder.d.ts +206 -206
  89. package/dist/composable/ConditionalOrderFactory.d.ts +19 -19
  90. package/dist/composable/Multiplexer.d.ts +174 -174
  91. package/dist/composable/contracts.d.ts +6 -6
  92. package/dist/composable/generated/ComposableCoW.d.ts +340 -340
  93. package/dist/composable/generated/ExtensibleFallbackHandler.d.ts +282 -282
  94. package/dist/composable/generated/TWAP.d.ts +141 -141
  95. package/dist/composable/generated/common.d.ts +21 -21
  96. package/dist/composable/generated/factories/ComposableCoW__factory.d.ts +475 -475
  97. package/dist/composable/generated/factories/ExtensibleFallbackHandler__factory.d.ts +389 -389
  98. package/dist/composable/generated/factories/TWAP__factory.d.ts +260 -260
  99. package/dist/composable/generated/factories/index.d.ts +3 -3
  100. package/dist/composable/generated/index.d.ts +7 -7
  101. package/dist/composable/index.d.ts +6 -6
  102. package/dist/composable/orderTypes/Twap.d.ts +242 -242
  103. package/dist/composable/orderTypes/index.d.ts +3 -3
  104. package/dist/composable/orderTypes/test/TestConditionalOrder.d.ts +25 -25
  105. package/dist/composable/types.d.ts +133 -133
  106. package/dist/composable/utils.d.ts +37 -37
  107. package/dist/cow-shed/CowShedSdk.d.ts +74 -69
  108. package/dist/cow-shed/contracts/CoWShedHooks.d.ts +47 -45
  109. package/dist/cow-shed/contracts/utils.d.ts +4 -4
  110. package/dist/cow-shed/index.d.ts +3 -2
  111. package/dist/cow-shed/types.d.ts +17 -17
  112. package/dist/hooks/utils.d.ts +3 -2
  113. package/dist/index-847d9333.js +29 -0
  114. package/dist/index-847d9333.js.map +1 -0
  115. package/dist/index.d.ts +11 -10
  116. package/dist/index.js +4 -4
  117. package/dist/index.js.map +1 -1
  118. package/dist/index.modern.mjs +1 -1
  119. package/dist/index.module.js +4 -4
  120. package/dist/index.module.js.map +1 -1
  121. package/dist/order-book/api.d.ts +235 -235
  122. package/dist/order-book/generated/index.d.ts +55 -55
  123. package/dist/order-book/generated/models/Address.d.ts +4 -4
  124. package/dist/order-book/generated/models/AppData.d.ts +7 -7
  125. package/dist/order-book/generated/models/AppDataHash.d.ts +6 -6
  126. package/dist/order-book/generated/models/AppDataObject.d.ts +7 -7
  127. package/dist/order-book/generated/models/Auction.d.ts +30 -30
  128. package/dist/order-book/generated/models/AuctionOrder.d.ts +92 -92
  129. package/dist/order-book/generated/models/AuctionPrices.d.ts +6 -6
  130. package/dist/order-book/generated/models/BigUint.d.ts +4 -4
  131. package/dist/order-book/generated/models/BuyTokenDestination.d.ts +7 -7
  132. package/dist/order-book/generated/models/CallData.d.ts +4 -4
  133. package/dist/order-book/generated/models/CompetitionAuction.d.ts +14 -14
  134. package/dist/order-book/generated/models/CompetitionOrderStatus.d.ts +29 -29
  135. package/dist/order-book/generated/models/EcdsaSignature.d.ts +4 -4
  136. package/dist/order-book/generated/models/EcdsaSigningScheme.d.ts +7 -7
  137. package/dist/order-book/generated/models/EthflowData.d.ts +20 -20
  138. package/dist/order-book/generated/models/ExecutedAmounts.d.ts +5 -5
  139. package/dist/order-book/generated/models/ExecutedProtocolFee.d.ts +8 -8
  140. package/dist/order-book/generated/models/FeePolicy.d.ts +7 -7
  141. package/dist/order-book/generated/models/InteractionData.d.ts +11 -11
  142. package/dist/order-book/generated/models/NativePriceResponse.d.ts +10 -10
  143. package/dist/order-book/generated/models/OnchainOrderData.d.ts +24 -24
  144. package/dist/order-book/generated/models/Order.d.ts +3 -3
  145. package/dist/order-book/generated/models/OrderCancellation.d.ts +14 -14
  146. package/dist/order-book/generated/models/OrderCancellationError.d.ts +15 -15
  147. package/dist/order-book/generated/models/OrderCancellations.d.ts +18 -18
  148. package/dist/order-book/generated/models/OrderClass.d.ts +8 -8
  149. package/dist/order-book/generated/models/OrderCreation.d.ts +80 -80
  150. package/dist/order-book/generated/models/OrderKind.d.ts +7 -7
  151. package/dist/order-book/generated/models/OrderMetaData.d.ts +100 -100
  152. package/dist/order-book/generated/models/OrderParameters.d.ts +53 -53
  153. package/dist/order-book/generated/models/OrderPostError.d.ts +35 -35
  154. package/dist/order-book/generated/models/OrderQuoteRequest.d.ts +58 -58
  155. package/dist/order-book/generated/models/OrderQuoteResponse.d.ts +27 -27
  156. package/dist/order-book/generated/models/OrderQuoteSide.d.ts +26 -26
  157. package/dist/order-book/generated/models/OrderQuoteSideKindBuy.d.ts +3 -3
  158. package/dist/order-book/generated/models/OrderQuoteSideKindSell.d.ts +3 -3
  159. package/dist/order-book/generated/models/OrderQuoteValidity.d.ts +14 -14
  160. package/dist/order-book/generated/models/OrderStatus.d.ts +10 -10
  161. package/dist/order-book/generated/models/PreSignature.d.ts +4 -4
  162. package/dist/order-book/generated/models/PriceEstimationError.d.ts +12 -12
  163. package/dist/order-book/generated/models/PriceImprovement.d.ts +12 -12
  164. package/dist/order-book/generated/models/PriceQuality.d.ts +16 -16
  165. package/dist/order-book/generated/models/Quote.d.ts +19 -19
  166. package/dist/order-book/generated/models/SellTokenSource.d.ts +8 -8
  167. package/dist/order-book/generated/models/Signature.d.ts +6 -6
  168. package/dist/order-book/generated/models/SigningScheme.d.ts +9 -9
  169. package/dist/order-book/generated/models/SolverCompetitionResponse.d.ts +30 -30
  170. package/dist/order-book/generated/models/SolverSettlement.d.ts +47 -47
  171. package/dist/order-book/generated/models/Surplus.d.ts +7 -7
  172. package/dist/order-book/generated/models/TokenAmount.d.ts +4 -4
  173. package/dist/order-book/generated/models/TotalSurplus.d.ts +10 -10
  174. package/dist/order-book/generated/models/Trade.d.ts +57 -57
  175. package/dist/order-book/generated/models/TransactionHash.d.ts +4 -4
  176. package/dist/order-book/generated/models/UID.d.ts +8 -8
  177. package/dist/order-book/generated/models/Volume.d.ts +6 -6
  178. package/dist/order-book/index.d.ts +5 -5
  179. package/dist/order-book/mock.d.ts +63 -63
  180. package/dist/order-book/quoteAmountsAndCostsUtils.d.ts +35 -22
  181. package/dist/order-book/request.d.ts +49 -49
  182. package/dist/order-book/transformOrder.d.ts +10 -10
  183. package/dist/order-book/types.d.ts +74 -74
  184. package/dist/order-signing/index.d.ts +2 -2
  185. package/dist/order-signing/orderSigningUtils.d.ts +97 -97
  186. package/dist/order-signing/types.d.ts +55 -55
  187. package/dist/order-signing/utils.d.ts +49 -49
  188. package/dist/package.json +31 -32
  189. package/dist/schemas/trading/LimitOrderAdvancedSettings.ts +151 -12
  190. package/dist/schemas/trading/LimitTradeParameters.ts +136 -15
  191. package/dist/schemas/trading/QuoteResultsSerialized.ts +292 -27
  192. package/dist/schemas/trading/QuoterParameters.ts +10 -0
  193. package/dist/schemas/trading/SwapAdvancedSettings.ts +331 -12
  194. package/dist/schemas/trading/TradeParameters.ts +136 -15
  195. package/dist/src/trading/README.md +99 -7
  196. package/dist/subgraph/api.d.ts +77 -77
  197. package/dist/subgraph/graphql.d.ts +3203 -3203
  198. package/dist/subgraph/index.d.ts +1 -1
  199. package/dist/subgraph/queries.d.ts +14 -14
  200. package/dist/test/utils.d.ts +1 -0
  201. package/dist/trading/appDataUtils.d.ts +5 -4
  202. package/dist/trading/calculateUniqueOrderId.d.ts +5 -5
  203. package/dist/trading/consts.d.ts +6 -14
  204. package/dist/trading/getEthFlowTransaction.d.ts +12 -7
  205. package/dist/trading/getOrderToSign.d.ts +11 -8
  206. package/dist/trading/getOrderTypedData.d.ts +4 -4
  207. package/dist/trading/getPreSignTransaction.d.ts +4 -4
  208. package/dist/trading/getQuote.d.ts +26 -14
  209. package/dist/trading/index.d.ts +21 -19
  210. package/dist/trading/postCoWProtocolTrade.d.ts +4 -4
  211. package/dist/trading/postLimitOrder.d.ts +3 -3
  212. package/dist/trading/postSellNativeCurrencyOrder.d.ts +4 -7
  213. package/dist/trading/postSwapOrder.d.ts +5 -5
  214. package/dist/trading/suggestSlippageBps.d.ts +13 -0
  215. package/dist/trading/suggestSlippageFromFee.d.ts +19 -0
  216. package/dist/trading/suggestSlippageFromVolume.d.ts +10 -0
  217. package/dist/trading/tradingSdk.d.ts +26 -26
  218. package/dist/trading/types.d.ts +221 -190
  219. package/dist/trading/utils/getPartnerFeeBps.d.ts +2 -0
  220. package/dist/trading/{utils.d.ts → utils/misc.d.ts} +27 -27
  221. package/dist/trading/utils/slippage.d.ts +16 -0
  222. package/dist/utils-09dadb80.js +2 -0
  223. package/dist/utils-09dadb80.js.map +1 -0
  224. package/dist/utils-0ff3f95e.js +2 -0
  225. package/dist/utils-0ff3f95e.js.map +1 -0
  226. package/dist/utils-ddcfac77.js +2 -0
  227. package/dist/utils-ddcfac77.js.map +1 -0
  228. package/dist/utils.d.ts +3 -3
  229. package/dist/weiroll/index.d.ts +23 -23
  230. package/package.json +31 -32
  231. package/dist/bridging/BridgingSdk/getErc20Decimals.d.ts +0 -4
  232. package/dist/bridging/BridgingSdk/getQuoteWithBridging.d.ts +0 -9
  233. package/dist/index-317c25f1.js +0 -29
  234. package/dist/index-317c25f1.js.map +0 -1
  235. package/dist/utils-204a9cbe.js +0 -2
  236. package/dist/utils-204a9cbe.js.map +0 -1
  237. package/dist/utils-762ee9c3.js +0 -2
  238. package/dist/utils-762ee9c3.js.map +0 -1
  239. package/dist/utils-de2eb543.js +0 -2
  240. package/dist/utils-de2eb543.js.map +0 -1
@@ -1,133 +1,133 @@
1
- import { OrderBookApi } from '../order-book';
2
- import { SupportedChainId } from '../chains';
3
- import { GPv2Order } from '../common/generated/ComposableCoW';
4
- import { providers } from 'ethers';
5
- export interface ConditionalOrderArguments<T> {
6
- handler: string;
7
- data: T;
8
- salt?: string;
9
- hasOffChainInput?: boolean;
10
- }
11
- export type ConditionalOrderParams = {
12
- readonly handler: string;
13
- readonly salt: string;
14
- readonly staticInput: string;
15
- };
16
- export declare enum ProofLocation {
17
- PRIVATE = 0,
18
- EMITTED = 1,
19
- SWARM = 2,
20
- WAKU = 3,
21
- RESERVED = 4,
22
- IPFS = 5
23
- }
24
- /**
25
- * A factory and it's arguments that are called at transaction mining time to generate the context
26
- * for a conditional order(s).
27
- *
28
- * This allows to support the case where conditional orders may want to *commence* validity at the
29
- * time of transaction mining, like in the case of a `TWAP` executed by a DAO or `Safe` that takes
30
- * a reasonable amount of time to aggregate signatures or collect votes.
31
- *
32
- * @remarks This is used in conjunction with `setRootWithContext` or `createWithContext`.
33
- */
34
- export type ContextFactory = {
35
- address: string;
36
- factoryArgs?: {
37
- args: unknown[];
38
- argsType: string[];
39
- };
40
- };
41
- /**
42
- * A struct for a proof that can be used with `setRoot` and `setRootWithContext` on a
43
- * ComposableCoW-enabled Safe.
44
- */
45
- export type ProofStruct = {
46
- location: ProofLocation;
47
- data: string | '0x';
48
- };
49
- /**
50
- * Payload for emitting a merkle root to a ComposableCoW-enabled Safe.
51
- *
52
- * If setting `ProofLocation.EMITTED`, this type should be used as the `data` in the `Proof` struct.
53
- */
54
- export type PayloadLocationEmitted = {
55
- proofs: ProofWithParams[];
56
- };
57
- /**
58
- * A proof for a conditional order and it's parameters.
59
- */
60
- export type ProofWithParams = {
61
- proof: string[];
62
- params: ConditionalOrderParams;
63
- };
64
- export type OwnerContext = {
65
- owner: string;
66
- chainId: SupportedChainId;
67
- provider: providers.Provider;
68
- };
69
- export type PollParams = OwnerContext & {
70
- orderBookApi: OrderBookApi;
71
- offchainInput?: string;
72
- proof?: string[];
73
- /**
74
- * If present, it can be used for custom conditional order validations. If not present, the orders will need to get the block info themselves
75
- */
76
- blockInfo?: BlockInfo;
77
- };
78
- export type BlockInfo = {
79
- blockNumber: number;
80
- blockTimestamp: number;
81
- };
82
- export type PollResult = PollResultSuccess | PollResultErrors;
83
- export type PollResultErrors = PollResultTryNextBlock | PollResultTryOnBlock | PollResultTryAtEpoch | PollResultUnexpectedError | PollResultDontTryAgain;
84
- export declare enum PollResultCode {
85
- SUCCESS = "SUCCESS",
86
- UNEXPECTED_ERROR = "UNEXPECTED_ERROR",
87
- TRY_NEXT_BLOCK = "TRY_NEXT_BLOCK",
88
- TRY_ON_BLOCK = "TRY_ON_BLOCK",
89
- TRY_AT_EPOCH = "TRY_AT_EPOCH",
90
- DONT_TRY_AGAIN = "DONT_TRY_AGAIN"
91
- }
92
- export interface PollResultSuccess {
93
- readonly result: PollResultCode.SUCCESS;
94
- readonly order: GPv2Order.DataStruct;
95
- readonly signature: string;
96
- }
97
- export interface PollResultUnexpectedError {
98
- readonly result: PollResultCode.UNEXPECTED_ERROR;
99
- readonly error: unknown;
100
- reason?: string;
101
- }
102
- export interface PollResultTryNextBlock {
103
- readonly result: PollResultCode.TRY_NEXT_BLOCK;
104
- reason?: string;
105
- }
106
- export interface PollResultTryOnBlock {
107
- readonly result: PollResultCode.TRY_ON_BLOCK;
108
- readonly blockNumber: number;
109
- reason?: string;
110
- }
111
- export interface PollResultTryAtEpoch {
112
- readonly result: PollResultCode.TRY_AT_EPOCH;
113
- /**
114
- * The epoch after which it is ok to retry to to poll this order.
115
- * The value is expressed as a Unix timestamp (in seconds).
116
- *
117
- * This epoch will be inclusive, meaning that it is ok to retry at the block mined precisely at this epoch or later.
118
- */
119
- readonly epoch: number;
120
- reason?: string;
121
- }
122
- export interface PollResultDontTryAgain {
123
- readonly result: PollResultCode.DONT_TRY_AGAIN;
124
- reason?: string;
125
- }
126
- export type IsValidResult = IsValid | IsNotValid;
127
- export interface IsValid {
128
- isValid: true;
129
- }
130
- export interface IsNotValid {
131
- isValid: false;
132
- reason: string;
133
- }
1
+ import { OrderBookApi } from '../order-book';
2
+ import { SupportedChainId } from '../chains';
3
+ import { GPv2Order } from '../common/generated/ComposableCoW';
4
+ import { providers } from 'ethers';
5
+ export interface ConditionalOrderArguments<T> {
6
+ handler: string;
7
+ data: T;
8
+ salt?: string;
9
+ hasOffChainInput?: boolean;
10
+ }
11
+ export type ConditionalOrderParams = {
12
+ readonly handler: string;
13
+ readonly salt: string;
14
+ readonly staticInput: string;
15
+ };
16
+ export declare enum ProofLocation {
17
+ PRIVATE = 0,
18
+ EMITTED = 1,
19
+ SWARM = 2,
20
+ WAKU = 3,
21
+ RESERVED = 4,
22
+ IPFS = 5
23
+ }
24
+ /**
25
+ * A factory and it's arguments that are called at transaction mining time to generate the context
26
+ * for a conditional order(s).
27
+ *
28
+ * This allows to support the case where conditional orders may want to *commence* validity at the
29
+ * time of transaction mining, like in the case of a `TWAP` executed by a DAO or `Safe` that takes
30
+ * a reasonable amount of time to aggregate signatures or collect votes.
31
+ *
32
+ * @remarks This is used in conjunction with `setRootWithContext` or `createWithContext`.
33
+ */
34
+ export type ContextFactory = {
35
+ address: string;
36
+ factoryArgs?: {
37
+ args: unknown[];
38
+ argsType: string[];
39
+ };
40
+ };
41
+ /**
42
+ * A struct for a proof that can be used with `setRoot` and `setRootWithContext` on a
43
+ * ComposableCoW-enabled Safe.
44
+ */
45
+ export type ProofStruct = {
46
+ location: ProofLocation;
47
+ data: string | '0x';
48
+ };
49
+ /**
50
+ * Payload for emitting a merkle root to a ComposableCoW-enabled Safe.
51
+ *
52
+ * If setting `ProofLocation.EMITTED`, this type should be used as the `data` in the `Proof` struct.
53
+ */
54
+ export type PayloadLocationEmitted = {
55
+ proofs: ProofWithParams[];
56
+ };
57
+ /**
58
+ * A proof for a conditional order and it's parameters.
59
+ */
60
+ export type ProofWithParams = {
61
+ proof: string[];
62
+ params: ConditionalOrderParams;
63
+ };
64
+ export type OwnerContext = {
65
+ owner: string;
66
+ chainId: SupportedChainId;
67
+ provider: providers.Provider;
68
+ };
69
+ export type PollParams = OwnerContext & {
70
+ orderBookApi: OrderBookApi;
71
+ offchainInput?: string;
72
+ proof?: string[];
73
+ /**
74
+ * If present, it can be used for custom conditional order validations. If not present, the orders will need to get the block info themselves
75
+ */
76
+ blockInfo?: BlockInfo;
77
+ };
78
+ export type BlockInfo = {
79
+ blockNumber: number;
80
+ blockTimestamp: number;
81
+ };
82
+ export type PollResult = PollResultSuccess | PollResultErrors;
83
+ export type PollResultErrors = PollResultTryNextBlock | PollResultTryOnBlock | PollResultTryAtEpoch | PollResultUnexpectedError | PollResultDontTryAgain;
84
+ export declare enum PollResultCode {
85
+ SUCCESS = "SUCCESS",
86
+ UNEXPECTED_ERROR = "UNEXPECTED_ERROR",
87
+ TRY_NEXT_BLOCK = "TRY_NEXT_BLOCK",
88
+ TRY_ON_BLOCK = "TRY_ON_BLOCK",
89
+ TRY_AT_EPOCH = "TRY_AT_EPOCH",
90
+ DONT_TRY_AGAIN = "DONT_TRY_AGAIN"
91
+ }
92
+ export interface PollResultSuccess {
93
+ readonly result: PollResultCode.SUCCESS;
94
+ readonly order: GPv2Order.DataStruct;
95
+ readonly signature: string;
96
+ }
97
+ export interface PollResultUnexpectedError {
98
+ readonly result: PollResultCode.UNEXPECTED_ERROR;
99
+ readonly error: unknown;
100
+ reason?: string;
101
+ }
102
+ export interface PollResultTryNextBlock {
103
+ readonly result: PollResultCode.TRY_NEXT_BLOCK;
104
+ reason?: string;
105
+ }
106
+ export interface PollResultTryOnBlock {
107
+ readonly result: PollResultCode.TRY_ON_BLOCK;
108
+ readonly blockNumber: number;
109
+ reason?: string;
110
+ }
111
+ export interface PollResultTryAtEpoch {
112
+ readonly result: PollResultCode.TRY_AT_EPOCH;
113
+ /**
114
+ * The epoch after which it is ok to retry to to poll this order.
115
+ * The value is expressed as a Unix timestamp (in seconds).
116
+ *
117
+ * This epoch will be inclusive, meaning that it is ok to retry at the block mined precisely at this epoch or later.
118
+ */
119
+ readonly epoch: number;
120
+ reason?: string;
121
+ }
122
+ export interface PollResultDontTryAgain {
123
+ readonly result: PollResultCode.DONT_TRY_AGAIN;
124
+ reason?: string;
125
+ }
126
+ export type IsValidResult = IsValid | IsNotValid;
127
+ export interface IsValid {
128
+ isValid: true;
129
+ }
130
+ export interface IsNotValid {
131
+ isValid: false;
132
+ reason: string;
133
+ }
@@ -1,37 +1,37 @@
1
- import { utils, providers, BigNumber } from 'ethers';
2
- import { SupportedChainId } from '../chains';
3
- import { BlockInfo, ConditionalOrderParams, IsValid, IsValidResult } from './types';
4
- import { Order } from '@cowprotocol/contracts';
5
- import { GPv2Order } from '../common/generated/ComposableCoW';
6
- export declare const CONDITIONAL_ORDER_PARAMS_ABI: string[];
7
- export declare const DEFAULT_TOKEN_FORMATTER: (address: string, amount: BigNumber) => string;
8
- export declare function isExtensibleFallbackHandler(handler: string, chainId: SupportedChainId): boolean;
9
- export declare function isComposableCow(handler: string, chainId: SupportedChainId): boolean;
10
- export declare function getDomainVerifier(safe: string, domain: string, chainId: SupportedChainId, provider: providers.Provider): Promise<string>;
11
- export declare function createSetDomainVerifierTx(domain: string, verifier: string): string;
12
- /**
13
- * Encode the `ConditionalOrderParams` for the conditional order.
14
- *
15
- * @param params The `ConditionalOrderParams` struct representing the conditional order as taken from a merkle tree.
16
- * @returns The ABI-encoded conditional order.
17
- * @see ConditionalOrderParams
18
- */
19
- export declare function encodeParams(params: ConditionalOrderParams): string;
20
- /**
21
- * Decode the `ConditionalOrderParams` for the conditional order.
22
- *
23
- * @param encoded The encoded conditional order.
24
- * @returns The decoded conditional order.
25
- */
26
- export declare function decodeParams(encoded: string): ConditionalOrderParams;
27
- /**
28
- * Helper method for validating ABI types.
29
- * @param types ABI types to validate against.
30
- * @param values The values to validate.
31
- * @returns {boolean} Whether the values are valid ABI for the given types.
32
- */
33
- export declare function isValidAbi(types: readonly (string | utils.ParamType)[], values: any[]): boolean;
34
- export declare function getBlockInfo(provider: providers.Provider): Promise<BlockInfo>;
35
- export declare function formatEpoch(epoch: number): string;
36
- export declare function fromStructToOrder(order: GPv2Order.DataStruct): Order;
37
- export declare function getIsValidResult(result: IsValidResult): result is IsValid;
1
+ import { utils, providers, BigNumber } from 'ethers';
2
+ import { SupportedChainId } from '../chains';
3
+ import { BlockInfo, ConditionalOrderParams, IsValid, IsValidResult } from './types';
4
+ import { Order } from '@cowprotocol/contracts';
5
+ import { GPv2Order } from '../common/generated/ComposableCoW';
6
+ export declare const CONDITIONAL_ORDER_PARAMS_ABI: string[];
7
+ export declare const DEFAULT_TOKEN_FORMATTER: (address: string, amount: BigNumber) => string;
8
+ export declare function isExtensibleFallbackHandler(handler: string, chainId: SupportedChainId): boolean;
9
+ export declare function isComposableCow(handler: string, chainId: SupportedChainId): boolean;
10
+ export declare function getDomainVerifier(safe: string, domain: string, chainId: SupportedChainId, provider: providers.Provider): Promise<string>;
11
+ export declare function createSetDomainVerifierTx(domain: string, verifier: string): string;
12
+ /**
13
+ * Encode the `ConditionalOrderParams` for the conditional order.
14
+ *
15
+ * @param params The `ConditionalOrderParams` struct representing the conditional order as taken from a merkle tree.
16
+ * @returns The ABI-encoded conditional order.
17
+ * @see ConditionalOrderParams
18
+ */
19
+ export declare function encodeParams(params: ConditionalOrderParams): string;
20
+ /**
21
+ * Decode the `ConditionalOrderParams` for the conditional order.
22
+ *
23
+ * @param encoded The encoded conditional order.
24
+ * @returns The decoded conditional order.
25
+ */
26
+ export declare function decodeParams(encoded: string): ConditionalOrderParams;
27
+ /**
28
+ * Helper method for validating ABI types.
29
+ * @param types ABI types to validate against.
30
+ * @param values The values to validate.
31
+ * @returns {boolean} Whether the values are valid ABI for the given types.
32
+ */
33
+ export declare function isValidAbi(types: readonly (string | utils.ParamType)[], values: any[]): boolean;
34
+ export declare function getBlockInfo(provider: providers.Provider): Promise<BlockInfo>;
35
+ export declare function formatEpoch(epoch: number): string;
36
+ export declare function fromStructToOrder(order: GPv2Order.DataStruct): Order;
37
+ export declare function getIsValidResult(result: IsValidResult): result is IsValid;
@@ -1,69 +1,74 @@
1
- import { EvmCall, SignerLike } from '../common';
2
- import { SupportedChainId } from '../chains';
3
- import { CowShedHooks } from './contracts/CoWShedHooks';
4
- import { EcdsaSigningScheme } from '@cowprotocol/contracts';
5
- import { ICoWShedCall, ICoWShedOptions } from './types';
6
- export interface SignAndEncodeTxArgs {
7
- /**
8
- * Calls to pre-authorize on the cow-shed account
9
- */
10
- calls: ICoWShedCall[];
11
- /**
12
- * Signer for the cow-shed's owner account.
13
- *
14
- * The signer will be used to pre-authorise the calls.
15
- * The cow-shed account will be derived from this signer.
16
- */
17
- signer?: SignerLike;
18
- /**
19
- * Chain ID to use for the transaction.
20
- */
21
- chainId: SupportedChainId;
22
- /**
23
- * Nonce to use for the transaction. If not provided, the current timestamp will be used.
24
- */
25
- nonce?: string;
26
- /**
27
- * Deadline to use for the transaction. If not provided, the maximum uint256 will be used.
28
- */
29
- deadline?: bigint;
30
- /**
31
- * Default gas limit to use for the transaction. If not provided, it will throw an error if the gas limit cannot be estimated.
32
- */
33
- defaultGasLimit?: bigint;
34
- /**
35
- * Signing scheme to use for the transaction.
36
- */
37
- signingScheme?: EcdsaSigningScheme;
38
- }
39
- export interface CowShedCall {
40
- cowShedAccount: string;
41
- signedMulticall: EvmCall;
42
- gasLimit: bigint;
43
- }
44
- export interface CowShedSdkOptions {
45
- /**
46
- * Signer for the cow-shed's owner account.
47
- */
48
- signer?: SignerLike;
49
- /**
50
- * Custom options for the cow-shed hooks.
51
- */
52
- factoryOptions?: ICoWShedOptions;
53
- }
54
- export declare class CowShedSdk {
55
- private options;
56
- protected hooksCache: Map<SupportedChainId, CowShedHooks>;
57
- constructor(options?: CowShedSdkOptions);
58
- getCowShedAccount(chainId: SupportedChainId, ownerAddress: string): string;
59
- /**
60
- * Encodes multiple calls into a single pre-authorized call to the cow-shed factory.
61
- *
62
- * This single call will create the cow-shed account if it doesn't exist yet, then will execute the calls.
63
- *
64
- * @returns pre-authorized multicall details
65
- */
66
- signCalls({ calls, signer: signerParam, chainId, nonce, deadline, defaultGasLimit, signingScheme, }: SignAndEncodeTxArgs): Promise<CowShedCall>;
67
- protected getCowShedHooks(chainId: SupportedChainId, customOptions?: ICoWShedOptions): CowShedHooks;
68
- protected static getNonce(): string;
69
- }
1
+ import { CoWShedVersion, EvmCall, SignerLike } from '../common';
2
+ import { SupportedChainId } from '../chains';
3
+ import { CowShedHooks } from './contracts/CoWShedHooks';
4
+ import { EcdsaSigningScheme } from '@cowprotocol/contracts';
5
+ import { ICoWShedCall, ICoWShedOptions } from './types';
6
+ export interface SignAndEncodeTxArgs {
7
+ /**
8
+ * Calls to pre-authorize on the cow-shed account
9
+ */
10
+ calls: ICoWShedCall[];
11
+ /**
12
+ * Signer for the cow-shed's owner account.
13
+ *
14
+ * The signer will be used to pre-authorise the calls.
15
+ * The cow-shed account will be derived from this signer.
16
+ */
17
+ signer?: SignerLike;
18
+ /**
19
+ * Chain ID to use for the transaction.
20
+ */
21
+ chainId: SupportedChainId;
22
+ /**
23
+ * Nonce to use for the transaction. If not provided, the current timestamp will be used.
24
+ */
25
+ nonce?: string;
26
+ /**
27
+ * Deadline to use for the transaction. If not provided, the maximum uint256 will be used.
28
+ */
29
+ deadline: bigint;
30
+ /**
31
+ * If value is provided, gas won't be estimated and will use the value
32
+ */
33
+ gasLimit?: bigint;
34
+ /**
35
+ * Default gas limit to use for the transaction. If not provided, it will throw an error if the gas limit cannot be estimated.
36
+ */
37
+ defaultGasLimit?: bigint;
38
+ /**
39
+ * Signing scheme to use for the transaction.
40
+ */
41
+ signingScheme?: EcdsaSigningScheme;
42
+ }
43
+ export interface CowShedCall {
44
+ cowShedAccount: string;
45
+ signedMulticall: EvmCall;
46
+ gasLimit: bigint;
47
+ }
48
+ export interface CowShedSdkOptions {
49
+ /**
50
+ * Signer for the cow-shed's owner account.
51
+ */
52
+ signer?: SignerLike;
53
+ /**
54
+ * Custom options for the cow-shed hooks.
55
+ */
56
+ factoryOptions?: ICoWShedOptions;
57
+ }
58
+ export declare class CowShedSdk {
59
+ private options;
60
+ readonly version: CoWShedVersion;
61
+ protected hooksCache: Map<SupportedChainId, CowShedHooks>;
62
+ constructor(options?: CowShedSdkOptions, version?: CoWShedVersion);
63
+ getCowShedAccount(chainId: SupportedChainId, ownerAddress: string): string;
64
+ /**
65
+ * Encodes multiple calls into a single pre-authorized call to the cow-shed factory.
66
+ *
67
+ * This single call will create the cow-shed account if it doesn't exist yet, then will execute the calls.
68
+ *
69
+ * @returns pre-authorized multicall details
70
+ */
71
+ signCalls({ calls, signer: signerParam, chainId, nonce, deadline, gasLimit, defaultGasLimit, signingScheme, }: SignAndEncodeTxArgs): Promise<CowShedCall>;
72
+ protected getCowShedHooks(chainId: SupportedChainId, customOptions?: ICoWShedOptions): CowShedHooks;
73
+ protected static getNonce(): string;
74
+ }
@@ -1,45 +1,47 @@
1
- import { EcdsaSigningScheme } from '@cowprotocol/contracts';
2
- import { SupportedChainId } from '../../chains';
3
- import type { Signer, TypedDataDomain } from '@ethersproject/abstract-signer';
4
- import { ICoWShedCall, ICoWShedOptions } from '../types';
5
- export declare const COW_SHED_PROXY_INIT_CODE = "0x60a034608e57601f61037138819003918201601f19168301916001600160401b038311848410176093578084926040948552833981010312608e57604b602060458360a9565b920160a9565b6080527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc556040516102b490816100bd8239608051818181608f01526101720152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b51906001600160a01b0382168203608e5756fe60806040526004361015610018575b3661019457610194565b6000803560e01c908163025b22bc1461003b575063f851a4400361000e5761010d565b3461010a5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010a5773ffffffffffffffffffffffffffffffffffffffff60043581811691828203610106577f0000000000000000000000000000000000000000000000000000000000000000163314600014610101577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc557fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b8280a280f35b61023d565b8380fd5b80fd5b346101645760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610164576020610146610169565b73ffffffffffffffffffffffffffffffffffffffff60405191168152f35b600080fd5b333003610101577f000000000000000000000000000000000000000000000000000000000000000090565b60ff7f68df44b1011761f481358c0f49a711192727fb02c377d697bcb0ea8ff8393ac0541615806101ef575b1561023d5760046040517ff92ee8a9000000000000000000000000000000000000000000000000000000008152fd5b507f400ada75000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000006000351614156101c0565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546000808092368280378136915af43d82803e1561027a573d90f35b3d90fdfea2646970667358221220c7c26ff3040b96a28e96d6d27b743972943aeaef81cc821544c5fe1e24f9b17264736f6c63430008190033";
6
- export declare const COW_SHED_712_TYPES: {
7
- ExecuteHooks: {
8
- type: string;
9
- name: string;
10
- }[];
11
- Call: {
12
- type: string;
13
- name: string;
14
- }[];
15
- };
16
- export declare class CowShedHooks {
17
- private chainId;
18
- private customOptions?;
19
- constructor(chainId: SupportedChainId, customOptions?: ICoWShedOptions | undefined);
20
- proxyOf(user: string): string;
21
- encodeExecuteHooksForFactory(calls: ICoWShedCall[], nonce: string, deadline: bigint, user: string, signature: string): string;
22
- signCalls(calls: ICoWShedCall[], nonce: string, deadline: bigint, signer: Signer, signingScheme: EcdsaSigningScheme): Promise<string>;
23
- infoToSign(calls: ICoWShedCall[], nonce: string, deadline: bigint, proxy: string): {
24
- domain: TypedDataDomain;
25
- types: {
26
- ExecuteHooks: {
27
- type: string;
28
- name: string;
29
- }[];
30
- Call: {
31
- type: string;
32
- name: string;
33
- }[];
34
- };
35
- message: {
36
- calls: ICoWShedCall[];
37
- nonce: string;
38
- deadline: bigint;
39
- };
40
- };
41
- getDomain(proxy: string): TypedDataDomain;
42
- proxyCreationCode(): string;
43
- getFactoryAddress(): string;
44
- getImplementationAddress(): string;
45
- }
1
+ import { EcdsaSigningScheme } from '@cowprotocol/contracts';
2
+ import { SupportedChainId } from '../../chains';
3
+ import type { Signer, TypedDataDomain } from '@ethersproject/abstract-signer';
4
+ import { CoWShedVersion } from '../../common';
5
+ import { ICoWShedCall, ICoWShedOptions } from '../types';
6
+ export declare const COW_SHED_PROXY_INIT_CODE = "0x60a03461009557601f61033d38819003918201601f19168301916001600160401b0383118484101761009957808492604094855283398101031261009557610052602061004b836100ad565b92016100ad565b6080527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5560405161027b90816100c28239608051818181608b01526101750152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b03821682036100955756fe60806040526004361015610018575b3661019757610197565b5f3560e01c8063025b22bc146100375763f851a4400361000e57610116565b346101125760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101125760043573ffffffffffffffffffffffffffffffffffffffff81169081810361011257337f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff160361010d577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc557fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b5f80a2005b61023d565b5f80fd5b34610112575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261011257602061014e61016c565b73ffffffffffffffffffffffffffffffffffffffff60405191168152f35b33300361010d577f000000000000000000000000000000000000000000000000000000000000000090565b60ff7f68df44b1011761f481358c0f49a711192727fb02c377d697bcb0ea8ff8393ac0541615806101f0575b1561023d577ff92ee8a9000000000000000000000000000000000000000000000000000000005f5260045ffd5b507f400ada75000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000005f351614156101c3565b5f807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc54368280378136915af43d5f803e15610277573d5ff35b3d5ffd";
7
+ export declare const COW_SHED_712_TYPES: {
8
+ ExecuteHooks: {
9
+ type: string;
10
+ name: string;
11
+ }[];
12
+ Call: {
13
+ type: string;
14
+ name: string;
15
+ }[];
16
+ };
17
+ export declare class CowShedHooks {
18
+ private chainId;
19
+ private customOptions?;
20
+ readonly version: CoWShedVersion;
21
+ constructor(chainId: SupportedChainId, customOptions?: ICoWShedOptions | undefined, version?: CoWShedVersion);
22
+ proxyOf(user: string): string;
23
+ encodeExecuteHooksForFactory(calls: ICoWShedCall[], nonce: string, deadline: bigint, user: string, signature: string): string;
24
+ signCalls(calls: ICoWShedCall[], nonce: string, deadline: bigint, signer: Signer, signingScheme: EcdsaSigningScheme): Promise<string>;
25
+ infoToSign(calls: ICoWShedCall[], nonce: string, deadline: bigint, proxy: string): {
26
+ domain: TypedDataDomain;
27
+ types: {
28
+ ExecuteHooks: {
29
+ type: string;
30
+ name: string;
31
+ }[];
32
+ Call: {
33
+ type: string;
34
+ name: string;
35
+ }[];
36
+ };
37
+ message: {
38
+ calls: ICoWShedCall[];
39
+ nonce: string;
40
+ deadline: bigint;
41
+ };
42
+ };
43
+ getDomain(proxy: string): TypedDataDomain;
44
+ proxyCreationCode(): string;
45
+ getFactoryAddress(): string;
46
+ getImplementationAddress(): string;
47
+ }
@@ -1,4 +1,4 @@
1
- import { CoWShedInterface } from '../../common/generated/CoWShed';
2
- import { CoWShedFactoryInterface } from '../../common/generated/CoWShedFactory';
3
- export declare function getCoWShedInterface(): CoWShedInterface;
4
- export declare function getCoWShedFactoryInterface(): CoWShedFactoryInterface;
1
+ import { CoWShedInterface } from '../../common/generated/CoWShed';
2
+ import { CoWShedFactoryInterface } from '../../common/generated/CoWShedFactory';
3
+ export declare function getCoWShedInterface(): CoWShedInterface;
4
+ export declare function getCoWShedFactoryInterface(): CoWShedFactoryInterface;
@@ -1,2 +1,3 @@
1
- export * from './types';
2
- export * from './CowShedSdk';
1
+ export * from './types';
2
+ export * from './CowShedSdk';
3
+ export * from './contracts/CoWShedHooks';
@@ -1,17 +1,17 @@
1
- export interface ICoWShedOptions {
2
- factoryAddress: string;
3
- proxyCreationCode?: string;
4
- implementationAddress: string;
5
- }
6
- export interface ICoWShedCall {
7
- target: string;
8
- value: bigint;
9
- callData: string;
10
- allowFailure: boolean;
11
- isDelegateCall: boolean;
12
- }
13
- export interface ICoWShedOptions {
14
- factoryAddress: string;
15
- proxyCreationCode?: string;
16
- implementationAddress: string;
17
- }
1
+ export interface ICoWShedOptions {
2
+ factoryAddress: string;
3
+ proxyCreationCode?: string;
4
+ implementationAddress: string;
5
+ }
6
+ export interface ICoWShedCall {
7
+ target: string;
8
+ value: bigint;
9
+ callData: string;
10
+ allowFailure: boolean;
11
+ isDelegateCall: boolean;
12
+ }
13
+ export interface ICoWShedOptions {
14
+ factoryAddress: string;
15
+ proxyCreationCode?: string;
16
+ implementationAddress: string;
17
+ }
@@ -1,2 +1,3 @@
1
- import { latest } from '@cowprotocol/app-data';
2
- export declare function getHookMockForCostEstimation(gasLimit: number): latest.OrderInteractionHooks;
1
+ import { latest } from '@cowprotocol/app-data';
2
+ export declare function getHookMockForCostEstimation(gasLimit: number): latest.CoWHook;
3
+ export declare function areHooksEqual(hookA: latest.CoWHook, hookB: latest.CoWHook): boolean;