@bitgo/public-types 2.39.0 → 2.41.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 (241) hide show
  1. package/dist/src/schema/index.d.ts +1 -0
  2. package/dist/src/schema/index.js +1 -0
  3. package/dist/src/schema/index.js.map +1 -1
  4. package/dist/src/schema/lightning/index.d.ts +1 -0
  5. package/dist/src/schema/lightning/index.js +18 -0
  6. package/dist/src/schema/lightning/index.js.map +1 -0
  7. package/dist/src/schema/transactionRequest/intents/accelerationIntent.d.ts +4 -3
  8. package/dist/src/schema/transactionRequest/intents/accountBaseBuildOptions.d.ts +1 -1
  9. package/dist/src/schema/transactionRequest/intents/accountBaseBuildOptions.js +1 -1
  10. package/dist/src/schema/transactionRequest/intents/accountBaseBuildOptions.js.map +1 -1
  11. package/dist/src/schema/transactionRequest/intents/accountBaseConsolidateIntent.d.ts +13 -10
  12. package/dist/src/schema/transactionRequest/intents/accountBaseConsolidateIntent.js +2 -0
  13. package/dist/src/schema/transactionRequest/intents/accountBaseConsolidateIntent.js.map +1 -1
  14. package/dist/src/schema/transactionRequest/intents/accountBaseCreateAccountIntent.d.ts +5 -3
  15. package/dist/src/schema/transactionRequest/intents/accountBaseCreateAccountIntent.js +2 -0
  16. package/dist/src/schema/transactionRequest/intents/accountBaseCreateAccountIntent.js.map +1 -1
  17. package/dist/src/schema/transactionRequest/intents/accountBaseUpdateAccountIntent.d.ts +5 -3
  18. package/dist/src/schema/transactionRequest/intents/accountBaseUpdateAccountIntent.js +2 -0
  19. package/dist/src/schema/transactionRequest/intents/accountBaseUpdateAccountIntent.js.map +1 -1
  20. package/dist/src/schema/transactionRequest/intents/adaConsolidateIntent.d.ts +14 -11
  21. package/dist/src/schema/transactionRequest/intents/adaConsolidateIntent.js +1 -1
  22. package/dist/src/schema/transactionRequest/intents/adaConsolidateIntent.js.map +1 -1
  23. package/dist/src/schema/transactionRequest/intents/adaPaymentIntent.d.ts +8 -6
  24. package/dist/src/schema/transactionRequest/intents/adaPledgeIntent.d.ts +4 -3
  25. package/dist/src/schema/transactionRequest/intents/adaStakeClaimRewardsIntent.d.ts +4 -3
  26. package/dist/src/schema/transactionRequest/intents/adaStakeIntent.d.ts +6 -4
  27. package/dist/src/schema/transactionRequest/intents/adaStakeIntent.js +3 -1
  28. package/dist/src/schema/transactionRequest/intents/adaStakeIntent.js.map +1 -1
  29. package/dist/src/schema/transactionRequest/intents/adaUnstakeIntent.d.ts +6 -4
  30. package/dist/src/schema/transactionRequest/intents/adaUnstakeIntent.js +3 -1
  31. package/dist/src/schema/transactionRequest/intents/adaUnstakeIntent.js.map +1 -1
  32. package/dist/src/schema/transactionRequest/intents/address.d.ts +2 -1
  33. package/dist/src/schema/transactionRequest/intents/address.js +1 -1
  34. package/dist/src/schema/transactionRequest/intents/address.js.map +1 -1
  35. package/dist/src/schema/transactionRequest/intents/atomPaymentIntent.d.ts +8 -6
  36. package/dist/src/schema/transactionRequest/intents/atomStakeIntent.d.ts +16 -12
  37. package/dist/src/schema/transactionRequest/intents/atomStakeIntent.js +2 -0
  38. package/dist/src/schema/transactionRequest/intents/atomStakeIntent.js.map +1 -1
  39. package/dist/src/schema/transactionRequest/intents/atomUnstakeIntent.d.ts +16 -12
  40. package/dist/src/schema/transactionRequest/intents/atomUnstakeIntent.js +2 -0
  41. package/dist/src/schema/transactionRequest/intents/atomUnstakeIntent.js.map +1 -1
  42. package/dist/src/schema/transactionRequest/intents/atomWithdrawIntent.d.ts +5 -3
  43. package/dist/src/schema/transactionRequest/intents/baseIntent.d.ts +7 -5
  44. package/dist/src/schema/transactionRequest/intents/baseIntent.js +19 -11
  45. package/dist/src/schema/transactionRequest/intents/baseIntent.js.map +1 -1
  46. package/dist/src/schema/transactionRequest/intents/baseStakeIntent.d.ts +4 -3
  47. package/dist/src/schema/transactionRequest/intents/bscDelegateIntent.d.ts +4 -3
  48. package/dist/src/schema/transactionRequest/intents/bscStakeClaimRewardsIntent.d.ts +4 -3
  49. package/dist/src/schema/transactionRequest/intents/bscUndelegateIntent.d.ts +4 -3
  50. package/dist/src/schema/transactionRequest/intents/bscWithdrawIntent.d.ts +5 -3
  51. package/dist/src/schema/transactionRequest/intents/consolidateTokenIntent.d.ts +31 -27
  52. package/dist/src/schema/transactionRequest/intents/consolidateTokenIntent.js +2 -0
  53. package/dist/src/schema/transactionRequest/intents/consolidateTokenIntent.js.map +1 -1
  54. package/dist/src/schema/transactionRequest/intents/cosmosPaymentIntent.d.ts +8 -6
  55. package/dist/src/schema/transactionRequest/intents/cosmosStakeIntent.d.ts +16 -12
  56. package/dist/src/schema/transactionRequest/intents/cosmosStakeIntent.js +2 -0
  57. package/dist/src/schema/transactionRequest/intents/cosmosStakeIntent.js.map +1 -1
  58. package/dist/src/schema/transactionRequest/intents/cosmosSwitchValidatorIntent.d.ts +4 -3
  59. package/dist/src/schema/transactionRequest/intents/cosmosUnstakeIntent.d.ts +16 -12
  60. package/dist/src/schema/transactionRequest/intents/cosmosUnstakeIntent.js +2 -0
  61. package/dist/src/schema/transactionRequest/intents/cosmosUnstakeIntent.js.map +1 -1
  62. package/dist/src/schema/transactionRequest/intents/cosmosWithdrawIntent.d.ts +5 -3
  63. package/dist/src/schema/transactionRequest/intents/dotAccountBaseBuildOptions.d.ts +10 -8
  64. package/dist/src/schema/transactionRequest/intents/dotAccountBaseBuildOptions.js +1 -1
  65. package/dist/src/schema/transactionRequest/intents/dotAccountBaseBuildOptions.js.map +1 -1
  66. package/dist/src/schema/transactionRequest/intents/dotBaseIntent.d.ts +23 -18
  67. package/dist/src/schema/transactionRequest/intents/dotBaseIntent.js +1 -1
  68. package/dist/src/schema/transactionRequest/intents/dotBaseIntent.js.map +1 -1
  69. package/dist/src/schema/transactionRequest/intents/dotConsolidateIntent.d.ts +39 -0
  70. package/dist/src/schema/transactionRequest/intents/dotConsolidateIntent.js +6 -0
  71. package/dist/src/schema/transactionRequest/intents/dotConsolidateIntent.js.map +1 -0
  72. package/dist/src/schema/transactionRequest/intents/dotCreateAccountIntent.d.ts +27 -20
  73. package/dist/src/schema/transactionRequest/intents/dotCreateAccountIntent.js +2 -0
  74. package/dist/src/schema/transactionRequest/intents/dotCreateAccountIntent.js.map +1 -1
  75. package/dist/src/schema/transactionRequest/intents/dotFeeOptionFormula.d.ts +14 -0
  76. package/dist/src/schema/transactionRequest/intents/dotFeeOptionFormula.js +35 -0
  77. package/dist/src/schema/transactionRequest/intents/dotFeeOptionFormula.js.map +1 -0
  78. package/dist/src/schema/transactionRequest/intents/dotFeeOptions.d.ts +4 -3
  79. package/dist/src/schema/transactionRequest/intents/dotFeeOptions.js +11 -7
  80. package/dist/src/schema/transactionRequest/intents/dotFeeOptions.js.map +1 -1
  81. package/dist/src/schema/transactionRequest/intents/dotPaymentIntent.d.ts +19 -15
  82. package/dist/src/schema/transactionRequest/intents/dotProxy.d.ts +1 -1
  83. package/dist/src/schema/transactionRequest/intents/dotProxy.js +1 -1
  84. package/dist/src/schema/transactionRequest/intents/dotProxy.js.map +1 -1
  85. package/dist/src/schema/transactionRequest/intents/dotStakingIntent.d.ts +15 -11
  86. package/dist/src/schema/transactionRequest/intents/dotStakingIntent.js +2 -0
  87. package/dist/src/schema/transactionRequest/intents/dotStakingIntent.js.map +1 -1
  88. package/dist/src/schema/transactionRequest/intents/dotUnstakingIntent.d.ts +15 -11
  89. package/dist/src/schema/transactionRequest/intents/dotUnstakingIntent.js +2 -0
  90. package/dist/src/schema/transactionRequest/intents/dotUnstakingIntent.js.map +1 -1
  91. package/dist/src/schema/transactionRequest/intents/dotWithdrawStakeIntent.d.ts +15 -11
  92. package/dist/src/schema/transactionRequest/intents/eip1559FeeOptions.d.ts +1 -1
  93. package/dist/src/schema/transactionRequest/intents/eip1559FeeOptions.js +1 -1
  94. package/dist/src/schema/transactionRequest/intents/eip1559FeeOptions.js.map +1 -1
  95. package/dist/src/schema/transactionRequest/intents/enableTokenIntent.d.ts +7 -5
  96. package/dist/src/schema/transactionRequest/intents/ethAccelerationIntent.d.ts +8 -7
  97. package/dist/src/schema/transactionRequest/intents/ethBuildOptions.d.ts +125 -23
  98. package/dist/src/schema/transactionRequest/intents/ethBuildOptions.js +13 -3
  99. package/dist/src/schema/transactionRequest/intents/ethBuildOptions.js.map +1 -1
  100. package/dist/src/schema/transactionRequest/intents/ethConsolidateIntent.d.ts +74 -0
  101. package/dist/src/schema/transactionRequest/intents/ethConsolidateIntent.js +34 -0
  102. package/dist/src/schema/transactionRequest/intents/ethConsolidateIntent.js.map +1 -0
  103. package/dist/src/schema/transactionRequest/intents/ethConsolidateTokenIntent.d.ts +105 -0
  104. package/dist/src/schema/transactionRequest/intents/ethConsolidateTokenIntent.js +43 -0
  105. package/dist/src/schema/transactionRequest/intents/ethConsolidateTokenIntent.js.map +1 -0
  106. package/dist/src/schema/transactionRequest/intents/ethFillNonceIntent.d.ts +20 -19
  107. package/dist/src/schema/transactionRequest/intents/ethFillNonceIntent.js +2 -8
  108. package/dist/src/schema/transactionRequest/intents/ethFillNonceIntent.js.map +1 -1
  109. package/dist/src/schema/transactionRequest/intents/ethPaymentIntent.d.ts +27 -25
  110. package/dist/src/schema/transactionRequest/intents/ethPaymentIntent.js +2 -1
  111. package/dist/src/schema/transactionRequest/intents/ethPaymentIntent.js.map +1 -1
  112. package/dist/src/schema/transactionRequest/intents/ethStakingIntent.d.ts +22 -21
  113. package/dist/src/schema/transactionRequest/intents/ethTransferTokenIntent.d.ts +103 -0
  114. package/dist/src/schema/transactionRequest/intents/ethTransferTokenIntent.js +34 -0
  115. package/dist/src/schema/transactionRequest/intents/ethTransferTokenIntent.js.map +1 -0
  116. package/dist/src/schema/transactionRequest/intents/feeOption.d.ts +2 -1
  117. package/dist/src/schema/transactionRequest/intents/feeOption.js +1 -1
  118. package/dist/src/schema/transactionRequest/intents/feeOption.js.map +1 -1
  119. package/dist/src/schema/transactionRequest/intents/fillNonceIntent.d.ts +3 -2
  120. package/dist/src/schema/transactionRequest/intents/index.d.ts +8 -0
  121. package/dist/src/schema/transactionRequest/intents/index.js +8 -0
  122. package/dist/src/schema/transactionRequest/intents/index.js.map +1 -1
  123. package/dist/src/schema/transactionRequest/intents/intent.d.ts +1115 -369
  124. package/dist/src/schema/transactionRequest/intents/intent.js +17 -1
  125. package/dist/src/schema/transactionRequest/intents/intent.js.map +1 -1
  126. package/dist/src/schema/transactionRequest/intents/lightningPaymentIntent.d.ts +4 -3
  127. package/dist/src/schema/transactionRequest/intents/mmiSignMessageIntent.d.ts +4 -3
  128. package/dist/src/schema/transactionRequest/intents/mmiSignTransactionIntent.d.ts +58 -0
  129. package/dist/src/schema/transactionRequest/intents/mmiSignTransactionIntent.js +35 -0
  130. package/dist/src/schema/transactionRequest/intents/mmiSignTransactionIntent.js.map +1 -0
  131. package/dist/src/schema/transactionRequest/intents/nearStakeIntent.d.ts +8 -6
  132. package/dist/src/schema/transactionRequest/intents/nearUnstakeIntent.d.ts +8 -6
  133. package/dist/src/schema/transactionRequest/intents/nearWithdrawIntent.d.ts +9 -6
  134. package/dist/src/schema/transactionRequest/intents/paymentIntent.d.ts +8 -6
  135. package/dist/src/schema/transactionRequest/intents/recipientEntry.d.ts +4 -3
  136. package/dist/src/schema/transactionRequest/intents/recipientEntry.js +9 -5
  137. package/dist/src/schema/transactionRequest/intents/recipientEntry.js.map +1 -1
  138. package/dist/src/schema/transactionRequest/intents/signMessageIntent.d.ts +4 -3
  139. package/dist/src/schema/transactionRequest/intents/solAuthorizeIntent.d.ts +4 -3
  140. package/dist/src/schema/transactionRequest/intents/solBuildOptions.d.ts +1 -1
  141. package/dist/src/schema/transactionRequest/intents/solClaimIntent.d.ts +6 -4
  142. package/dist/src/schema/transactionRequest/intents/solConsolidateIntent.d.ts +13 -10
  143. package/dist/src/schema/transactionRequest/intents/solCreateAssociatedTokenAccountIntent.d.ts +8 -6
  144. package/dist/src/schema/transactionRequest/intents/solDeactivateIntent.d.ts +4 -3
  145. package/dist/src/schema/transactionRequest/intents/solDelegateIntent.d.ts +4 -3
  146. package/dist/src/schema/transactionRequest/intents/solPaymentIntent.d.ts +9 -7
  147. package/dist/src/schema/transactionRequest/intents/solStakeIntent.d.ts +5 -4
  148. package/dist/src/schema/transactionRequest/intents/solUnstakeIntent.d.ts +6 -4
  149. package/dist/src/schema/transactionRequest/intents/solUnstakeIntent.js +2 -0
  150. package/dist/src/schema/transactionRequest/intents/solUnstakeIntent.js.map +1 -1
  151. package/dist/src/schema/transactionRequest/intents/stakeClaimRewardsIntent.d.ts +4 -3
  152. package/dist/src/schema/transactionRequest/intents/stakeIntent.d.ts +4 -3
  153. package/dist/src/schema/transactionRequest/intents/stakeSwitchValidatorIntent.d.ts +4 -3
  154. package/dist/src/schema/transactionRequest/intents/suiBuildOptions.d.ts +4 -3
  155. package/dist/src/schema/transactionRequest/intents/suiConsolidateIntent.d.ts +79 -0
  156. package/dist/src/schema/transactionRequest/intents/suiConsolidateIntent.js +34 -0
  157. package/dist/src/schema/transactionRequest/intents/suiConsolidateIntent.js.map +1 -0
  158. package/dist/src/schema/transactionRequest/intents/suiCustomTxIntent.d.ts +7 -5
  159. package/dist/src/schema/transactionRequest/intents/suiPaymentIntent.d.ts +96 -0
  160. package/dist/src/schema/transactionRequest/intents/suiPaymentIntent.js +34 -0
  161. package/dist/src/schema/transactionRequest/intents/suiPaymentIntent.js.map +1 -0
  162. package/dist/src/schema/transactionRequest/intents/suiStakingIntent.d.ts +16 -13
  163. package/dist/src/schema/transactionRequest/intents/suiStakingIntent.js +1 -1
  164. package/dist/src/schema/transactionRequest/intents/suiStakingIntent.js.map +1 -1
  165. package/dist/src/schema/transactionRequest/intents/suiUnstakingIntent.d.ts +6 -3
  166. package/dist/src/schema/transactionRequest/intents/suiUnstakingIntent.js +2 -0
  167. package/dist/src/schema/transactionRequest/intents/suiUnstakingIntent.js.map +1 -1
  168. package/dist/src/schema/transactionRequest/intents/tokenData.d.ts +5 -4
  169. package/dist/src/schema/transactionRequest/intents/tokenEnablement.d.ts +3 -2
  170. package/dist/src/schema/transactionRequest/intents/tokenEnablement.js +8 -4
  171. package/dist/src/schema/transactionRequest/intents/tokenEnablement.js.map +1 -1
  172. package/dist/src/schema/transactionRequest/intents/tokenRecipientEntry.d.ts +9 -7
  173. package/dist/src/schema/transactionRequest/intents/tokenRecipientEntryItem.d.ts +4 -3
  174. package/dist/src/schema/transactionRequest/intents/tokenRecipientEntryItem.js +9 -5
  175. package/dist/src/schema/transactionRequest/intents/tokenRecipientEntryItem.js.map +1 -1
  176. package/dist/src/schema/transactionRequest/intents/tonConsolidateIntent.d.ts +13 -10
  177. package/dist/src/schema/transactionRequest/intents/tonDelegateIntent.d.ts +4 -3
  178. package/dist/src/schema/transactionRequest/intents/tonPaymentIntent.d.ts +9 -7
  179. package/dist/src/schema/transactionRequest/intents/tonPaymentIntent.js +1 -1
  180. package/dist/src/schema/transactionRequest/intents/tonPaymentIntent.js.map +1 -1
  181. package/dist/src/schema/transactionRequest/intents/tonUndelegateIntent.d.ts +4 -3
  182. package/dist/src/schema/transactionRequest/intents/transferTokenIntent.d.ts +11 -43
  183. package/dist/src/schema/transactionRequest/intents/transferTokenIntent.js +0 -2
  184. package/dist/src/schema/transactionRequest/intents/transferTokenIntent.js.map +1 -1
  185. package/dist/src/schema/transactionRequest/intents/unstakeIntent.d.ts +4 -3
  186. package/dist/src/schema/transactionRequest/intents/unsupportedTokenRecipientEntryItem.d.ts +1 -1
  187. package/dist/src/schema/transactionRequest/intents/unsupportedTokenRecipientEntryItem.js +1 -1
  188. package/dist/src/schema/transactionRequest/intents/unsupportedTokenRecipientEntryItem.js.map +1 -1
  189. package/dist/src/schema/transactionRequest/intents/walletRecoveryIntent.d.ts +4 -3
  190. package/dist/src/schema/transactionRequest/intents/withdrawIntent.d.ts +5 -3
  191. package/dist/src/schema/transactionRequest/intents/withdrawIntent.js +2 -0
  192. package/dist/src/schema/transactionRequest/intents/withdrawIntent.js.map +1 -1
  193. package/package.json +1 -1
  194. package/src/schema/index.ts +1 -0
  195. package/src/schema/lightning/index.ts +1 -0
  196. package/src/schema/transactionRequest/intents/accountBaseBuildOptions.ts +1 -1
  197. package/src/schema/transactionRequest/intents/accountBaseConsolidateIntent.ts +2 -0
  198. package/src/schema/transactionRequest/intents/accountBaseCreateAccountIntent.ts +2 -0
  199. package/src/schema/transactionRequest/intents/accountBaseUpdateAccountIntent.ts +2 -0
  200. package/src/schema/transactionRequest/intents/adaConsolidateIntent.ts +1 -1
  201. package/src/schema/transactionRequest/intents/adaStakeIntent.ts +3 -1
  202. package/src/schema/transactionRequest/intents/adaUnstakeIntent.ts +3 -1
  203. package/src/schema/transactionRequest/intents/address.ts +3 -1
  204. package/src/schema/transactionRequest/intents/atomStakeIntent.ts +2 -0
  205. package/src/schema/transactionRequest/intents/atomUnstakeIntent.ts +2 -0
  206. package/src/schema/transactionRequest/intents/baseIntent.ts +20 -12
  207. package/src/schema/transactionRequest/intents/consolidateTokenIntent.ts +2 -0
  208. package/src/schema/transactionRequest/intents/cosmosStakeIntent.ts +2 -0
  209. package/src/schema/transactionRequest/intents/cosmosUnstakeIntent.ts +2 -0
  210. package/src/schema/transactionRequest/intents/dotAccountBaseBuildOptions.ts +1 -1
  211. package/src/schema/transactionRequest/intents/dotBaseIntent.ts +1 -1
  212. package/src/schema/transactionRequest/intents/dotConsolidateIntent.ts +6 -0
  213. package/src/schema/transactionRequest/intents/dotCreateAccountIntent.ts +2 -0
  214. package/src/schema/transactionRequest/intents/dotFeeOptionFormula.ts +12 -0
  215. package/src/schema/transactionRequest/intents/dotFeeOptions.ts +11 -7
  216. package/src/schema/transactionRequest/intents/dotProxy.ts +1 -1
  217. package/src/schema/transactionRequest/intents/dotStakingIntent.ts +2 -0
  218. package/src/schema/transactionRequest/intents/dotUnstakingIntent.ts +2 -0
  219. package/src/schema/transactionRequest/intents/eip1559FeeOptions.ts +1 -1
  220. package/src/schema/transactionRequest/intents/ethBuildOptions.ts +26 -2
  221. package/src/schema/transactionRequest/intents/ethConsolidateIntent.ts +10 -0
  222. package/src/schema/transactionRequest/intents/ethConsolidateTokenIntent.ts +21 -0
  223. package/src/schema/transactionRequest/intents/ethFillNonceIntent.ts +2 -10
  224. package/src/schema/transactionRequest/intents/ethPaymentIntent.ts +2 -1
  225. package/src/schema/transactionRequest/intents/ethTransferTokenIntent.ts +10 -0
  226. package/src/schema/transactionRequest/intents/feeOption.ts +3 -1
  227. package/src/schema/transactionRequest/intents/index.ts +8 -0
  228. package/src/schema/transactionRequest/intents/intent.ts +17 -1
  229. package/src/schema/transactionRequest/intents/mmiSignTransactionIntent.ts +13 -0
  230. package/src/schema/transactionRequest/intents/recipientEntry.ts +9 -5
  231. package/src/schema/transactionRequest/intents/solUnstakeIntent.ts +2 -0
  232. package/src/schema/transactionRequest/intents/suiConsolidateIntent.ts +10 -0
  233. package/src/schema/transactionRequest/intents/suiPaymentIntent.ts +10 -0
  234. package/src/schema/transactionRequest/intents/suiStakingIntent.ts +1 -1
  235. package/src/schema/transactionRequest/intents/suiUnstakingIntent.ts +2 -0
  236. package/src/schema/transactionRequest/intents/tokenEnablement.ts +8 -4
  237. package/src/schema/transactionRequest/intents/tokenRecipientEntryItem.ts +9 -5
  238. package/src/schema/transactionRequest/intents/tonPaymentIntent.ts +1 -1
  239. package/src/schema/transactionRequest/intents/transferTokenIntent.ts +0 -2
  240. package/src/schema/transactionRequest/intents/unsupportedTokenRecipientEntryItem.ts +1 -1
  241. package/src/schema/transactionRequest/intents/withdrawIntent.ts +2 -0
@@ -1,20 +1,28 @@
1
1
  import * as t from "io-ts";
2
2
  import { IntentType } from "./intentType";
3
- import { optionalNumber, optionalString } from "../../../utils";
3
+ import { Optional, optionalString } from "../../../utils";
4
4
 
5
- export const BaseIntent = t.type({
6
- intentType: IntentType,
7
- sequenceId: optionalString,
8
- comment: optionalString,
9
- nonce: t.union([optionalString, optionalNumber]),
10
- });
5
+ export const BaseIntent = t.intersection([
6
+ t.type({
7
+ intentType: IntentType,
8
+ }),
9
+ t.partial({
10
+ sequenceId: optionalString,
11
+ comment: optionalString,
12
+ nonce: Optional(t.union([t.string, t.number])),
13
+ }),
14
+ ]);
11
15
 
12
16
  export type BaseIntent = t.TypeOf<typeof BaseIntent>;
13
17
 
14
- export const BaseIntentWithoutNonce = t.type({
15
- intentType: IntentType,
16
- sequenceId: optionalString,
17
- comment: optionalString,
18
- });
18
+ export const BaseIntentWithoutNonce = t.intersection([
19
+ t.type({
20
+ intentType: IntentType,
21
+ }),
22
+ t.partial({
23
+ sequenceId: optionalString,
24
+ comment: optionalString,
25
+ }),
26
+ ]);
19
27
 
20
28
  export type BaseIntentWithoutNonce = t.TypeOf<typeof BaseIntentWithoutNonce>;
@@ -11,6 +11,8 @@ export const ConsolidateTokenIntent = t.intersection([
11
11
  t.type({
12
12
  intentType: intentTypes.consolidateToken,
13
13
  recipients: t.array(TokenRecipientEntry),
14
+ }),
15
+ t.partial({
14
16
  consolidateId: optionalString,
15
17
  keepAlive: optionalBoolean,
16
18
  }),
@@ -11,6 +11,8 @@ export const CosmosStakeIntent = t.intersection([
11
11
  intentType: intentTypes.delegate,
12
12
  validatorAddress: t.string,
13
13
  amount: Amount,
14
+ }),
15
+ t.partial({
14
16
  recipients: Optional(t.array(RecipientEntry)),
15
17
  }),
16
18
  ]);
@@ -11,6 +11,8 @@ export const CosmosUnstakeIntent = t.intersection([
11
11
  intentType: intentTypes.undelegate,
12
12
  validatorAddress: t.string,
13
13
  amount: Amount,
14
+ }),
15
+ t.partial({
14
16
  recipients: Optional(t.array(RecipientEntry)),
15
17
  }),
16
18
  ]);
@@ -5,7 +5,7 @@ import { Optional } from "../../../utils";
5
5
 
6
6
  export const DotAccountBaseBuildOptions = t.intersection([
7
7
  AccountBaseBuildOptions,
8
- t.type({
8
+ t.partial({
9
9
  fee: Optional(DotFeeOptions),
10
10
  }),
11
11
  ]);
@@ -6,7 +6,7 @@ import { BaseIntent } from "./baseIntent";
6
6
 
7
7
  export const DotBaseIntent = t.intersection([
8
8
  BaseIntent,
9
- t.type({
9
+ t.partial({
10
10
  senderAddressIndex: optionalNumber,
11
11
  fee: Optional(DotFeeOptions),
12
12
  recipients: Optional(t.array(RecipientEntry)),
@@ -0,0 +1,6 @@
1
+ import * as t from "io-ts";
2
+ import { AccountBaseConsolidateIntent } from "./accountBaseConsolidateIntent";
3
+
4
+ export const DotConsolidateIntent = AccountBaseConsolidateIntent;
5
+
6
+ export type DotConsolidateIntent = t.TypeOf<typeof DotConsolidateIntent>;
@@ -10,6 +10,8 @@ export const DotCreateAccountIntent = t.intersection([
10
10
  t.type({
11
11
  delayBlocks: t.string,
12
12
  proxyType: t.string,
13
+ }),
14
+ t.partial({
13
15
  index: optionalNumber,
14
16
  // recipients array can be undefined or empty if txn is for anonymous proxy
15
17
  recipients: Optional(t.array(RecipientEntry)),
@@ -0,0 +1,12 @@
1
+ import * as t from "io-ts";
2
+
3
+ export const dotFeeFormulas = {
4
+ fixed: t.literal("fixed"),
5
+ feeRate: t.literal("feeRate"),
6
+ perKB: t.literal("perKB"),
7
+ custom: t.literal("custom"),
8
+ };
9
+
10
+ export const DotFeeFormulas = t.keyof(dotFeeFormulas);
11
+
12
+ export type DotFeeFormulas = t.TypeOf<typeof DotFeeFormulas>;
@@ -1,12 +1,16 @@
1
1
  import * as t from "io-ts";
2
2
  import { FeeUnit } from "./feeOptionUnit";
3
3
  import { Optional } from "../../../utils";
4
- import { FeeFormula } from "./feeOptionFormula";
4
+ import { DotFeeFormulas } from "./dotFeeOptionFormula";
5
5
  import { FeeType } from "./feeOptionFeeType";
6
6
 
7
- export const DotFeeOptions = t.type({
8
- amount: t.union([t.string, t.number]),
9
- unit: Optional(FeeUnit),
10
- formula: Optional(FeeFormula),
11
- type: Optional(FeeType),
12
- });
7
+ export const DotFeeOptions = t.intersection([
8
+ t.type({
9
+ amount: t.union([t.string, t.number]),
10
+ }),
11
+ t.partial({
12
+ unit: Optional(FeeUnit),
13
+ formula: Optional(DotFeeFormulas),
14
+ type: Optional(FeeType),
15
+ }),
16
+ ]);
@@ -1,7 +1,7 @@
1
1
  import * as t from "io-ts";
2
2
  import { optionalString } from "../../../utils";
3
3
 
4
- export const DotProxy = t.type({
4
+ export const DotProxy = t.partial({
5
5
  name: optionalString,
6
6
  addressString: optionalString,
7
7
  asset: optionalString,
@@ -10,6 +10,8 @@ export const DotStakingIntent = t.intersection([
10
10
  t.type({
11
11
  amount: Amount,
12
12
  stakingProxy: t.string,
13
+ }),
14
+ t.partial({
13
15
  addToStake: optionalBoolean,
14
16
  addProxy: optionalBoolean,
15
17
  }),
@@ -10,6 +10,8 @@ export const DotUnstakingIntent = t.intersection([
10
10
  t.type({
11
11
  amount: Amount,
12
12
  stakingProxy: t.string,
13
+ }),
14
+ t.partial({
13
15
  stopStaking: optionalBoolean,
14
16
  }),
15
17
  ]);
@@ -1,7 +1,7 @@
1
1
  import * as t from "io-ts";
2
2
  import { optionalNumber } from "../../../utils";
3
3
 
4
- export const EIP1559FeeOptions = t.type({
4
+ export const EIP1559FeeOptions = t.partial({
5
5
  gasLimit: optionalNumber,
6
6
  maxFeePerGas: optionalNumber,
7
7
  maxPriorityFeePerGas: optionalNumber,
@@ -7,7 +7,7 @@ import { HopParams } from "./hopParams";
7
7
 
8
8
  export const EthBuildOptions = t.intersection([
9
9
  AccountBaseBuildOptions,
10
- t.type({
10
+ t.partial({
11
11
  feeOptions: Optional(t.union([FeeOption, EIP1559FeeOptions])),
12
12
  hopParams: Optional(HopParams),
13
13
  receiveAddress: optionalString,
@@ -19,9 +19,33 @@ export type EthBuildOptions = t.TypeOf<typeof EthBuildOptions>;
19
19
 
20
20
  export const EthBuildOptionsWithoutFeeOptions = t.intersection([
21
21
  AccountBaseBuildOptions,
22
- t.type({
22
+ t.partial({
23
23
  hopParams: Optional(HopParams),
24
24
  receiveAddress: optionalString,
25
25
  senderAddressIndex: optionalNumber,
26
26
  }),
27
27
  ]);
28
+
29
+ export type EthBuildOptionsWithoutFeeOptions = t.TypeOf<
30
+ typeof EthBuildOptionsWithoutFeeOptions
31
+ >;
32
+
33
+ // This is the same as Omit<EthBuildOptions, 'hopParams' | 'nonce'>
34
+ // but `omit` is not easily available in io-ts
35
+ export const EthFillNonceBuildOptions = t.partial({
36
+ feeOptions: Optional(t.union([FeeOption, EIP1559FeeOptions])),
37
+ receiveAddress: optionalString,
38
+ senderAddressIndex: optionalNumber,
39
+ });
40
+
41
+ export type EthFillNonceBuildOptions = t.TypeOf<
42
+ typeof EthFillNonceBuildOptions
43
+ >;
44
+
45
+ export const AllEthBuildOptions = t.union([
46
+ EthBuildOptions,
47
+ EthBuildOptionsWithoutFeeOptions,
48
+ EthFillNonceBuildOptions,
49
+ ]);
50
+
51
+ export type AllEthBuildOptions = t.TypeOf<typeof AllEthBuildOptions>;
@@ -0,0 +1,10 @@
1
+ import * as t from "io-ts";
2
+ import { AccountBaseConsolidateIntent } from "./accountBaseConsolidateIntent";
3
+ import { EthBuildOptions } from "./ethBuildOptions";
4
+
5
+ export const EthConsolidateIntent = t.intersection([
6
+ AccountBaseConsolidateIntent,
7
+ EthBuildOptions,
8
+ ]);
9
+
10
+ export type EthConsolidateIntent = t.TypeOf<typeof EthConsolidateIntent>;
@@ -0,0 +1,21 @@
1
+ import * as t from "io-ts";
2
+ import { BaseIntent } from "./baseIntent";
3
+ import { intentTypes } from "./intentType";
4
+ import { optionalBoolean, optionalString } from "../../../utils";
5
+ import { TokenRecipientEntry } from "./tokenRecipientEntry";
6
+ import { EthBuildOptions } from "./ethBuildOptions";
7
+
8
+ export const EthConsolidateTokenIntent = t.intersection([
9
+ BaseIntent,
10
+ EthBuildOptions,
11
+ t.type({
12
+ intentType: intentTypes.consolidateToken,
13
+ recipients: t.array(TokenRecipientEntry),
14
+ consolidateId: optionalString,
15
+ keepAlive: optionalBoolean,
16
+ }),
17
+ ]);
18
+
19
+ export type EthConsolidateTokenIntent = t.TypeOf<
20
+ typeof EthConsolidateTokenIntent
21
+ >;
@@ -1,18 +1,10 @@
1
1
  import * as t from "io-ts";
2
2
  import { FillNonceIntent } from "./fillNonceIntent";
3
- import { Optional, optionalNumber, optionalString } from "../../../utils";
4
- import { FeeOption } from "./feeOption";
5
- import { EIP1559FeeOptions } from "./eip1559FeeOptions";
3
+ import { EthFillNonceBuildOptions } from "./ethBuildOptions";
6
4
 
7
5
  export const EthFillNonceIntent = t.intersection([
8
6
  FillNonceIntent,
9
- // This is the same as Omit<EthBuildOptions, 'hopParams' | 'nonce'>
10
- // but `omit` is not easily available in io-ts
11
- t.type({
12
- feeOptions: Optional(t.union([FeeOption, EIP1559FeeOptions])),
13
- receiveAddress: optionalString,
14
- senderAddressIndex: optionalNumber,
15
- }),
7
+ EthFillNonceBuildOptions,
16
8
  ]);
17
9
 
18
10
  export type EthFillNonceIntent = t.TypeOf<typeof EthFillNonceIntent>;
@@ -1,12 +1,13 @@
1
1
  import * as t from "io-ts";
2
2
  import { PaymentIntent } from "./paymentIntent";
3
3
  import { EthBuildOptions } from "./ethBuildOptions";
4
+ import { optionalBoolean } from "../../../utils";
4
5
 
5
6
  export const EthPaymentIntent = t.intersection([
6
7
  PaymentIntent,
7
8
  EthBuildOptions,
8
9
  t.type({
9
- selfSend: t.string,
10
+ selfSend: optionalBoolean,
10
11
  }),
11
12
  ]);
12
13
 
@@ -0,0 +1,10 @@
1
+ import * as t from "io-ts";
2
+ import { EthBuildOptions } from "./ethBuildOptions";
3
+ import { TransferTokenIntent } from "./transferTokenIntent";
4
+
5
+ export const EthTransferTokenIntent = t.intersection([
6
+ TransferTokenIntent,
7
+ EthBuildOptions,
8
+ ]);
9
+
10
+ export type EthTransferTokenIntent = t.TypeOf<typeof EthTransferTokenIntent>;
@@ -4,10 +4,12 @@ import { FeeUnit } from "./feeOptionUnit";
4
4
  import { FeeFormula } from "./feeOptionFormula";
5
5
  import { FeeType } from "./feeOptionFeeType";
6
6
 
7
- export const FeeOption = t.type({
7
+ export const FeeOption = t.partial({
8
8
  unit: Optional(FeeUnit),
9
9
  formula: Optional(FeeFormula),
10
10
  feeType: Optional(FeeType),
11
11
  gasLimit: optionalNumber,
12
12
  gasPrice: optionalNumber,
13
13
  });
14
+
15
+ export type FeeOption = t.TypeOf<typeof FeeOption>;
@@ -29,7 +29,9 @@ export * from "./cosmosUnstakeIntent";
29
29
  export * from "./cosmosWithdrawIntent";
30
30
  export * from "./dotAccountBaseBuildOptions";
31
31
  export * from "./dotBaseIntent";
32
+ export * from "./dotConsolidateIntent";
32
33
  export * from "./dotCreateAccountIntent";
34
+ export * from "./dotFeeOptionFormula";
33
35
  export * from "./dotFeeOptions";
34
36
  export * from "./dotPaymentIntent";
35
37
  export * from "./dotProxy";
@@ -40,9 +42,12 @@ export * from "./eip1559FeeOptions";
40
42
  export * from "./enableTokenIntent";
41
43
  export * from "./ethAccelerationIntent";
42
44
  export * from "./ethBuildOptions";
45
+ export * from "./ethConsolidateIntent";
46
+ export * from "./ethConsolidateTokenIntent";
43
47
  export * from "./ethFillNonceIntent";
44
48
  export * from "./ethPaymentIntent";
45
49
  export * from "./ethStakingIntent";
50
+ export * from "./ethTransferTokenIntent";
46
51
  export * from "./feeOption";
47
52
  export * from "./feeOptionFeeType";
48
53
  export * from "./feeOptionFormula";
@@ -53,6 +58,7 @@ export * from "./intent";
53
58
  export * from "./intentType";
54
59
  export * from "./lightningPaymentIntent";
55
60
  export * from "./mmiSignMessageIntent";
61
+ export * from "./mmiSignTransactionIntent";
56
62
  export * from "./nearStakeIntent";
57
63
  export * from "./nearUnstakeIntent";
58
64
  export * from "./nearWithdrawIntent";
@@ -73,8 +79,10 @@ export * from "./stakeClaimRewardsIntent";
73
79
  export * from "./stakeIntent";
74
80
  export * from "./stakeSwitchValidatorIntent";
75
81
  export * from "./suiBuildOptions";
82
+ export * from "./suiConsolidateIntent";
76
83
  export * from "./suiCustomTxIntent";
77
84
  export * from "./suiFeeOptions";
85
+ export * from "./suiPaymentIntent";
78
86
  export * from "./suiStakingIntent";
79
87
  export * from "./suiUnstakingIntent";
80
88
  export * from "./supportedTokenRecipientEntryItem";
@@ -46,6 +46,14 @@ import { SolConsolidateIntent } from "./solConsolidateIntent";
46
46
  import { TonConsolidateIntent } from "./tonConsolidateIntent";
47
47
  import { AdaStakeClaimRewardsIntent } from "./adaStakeClaimRewardsIntent";
48
48
  import { AdaUnstakeIntent } from "./adaUnstakeIntent";
49
+ import { SuiPaymentIntent } from "./suiPaymentIntent";
50
+ import { SuiConsolidateIntent } from "./suiConsolidateIntent";
51
+ import { MmiSignTransactionIntent } from "./mmiSignTransactionIntent";
52
+ import { EthConsolidateIntent } from "./ethConsolidateIntent";
53
+ import { EthConsolidateTokenIntent } from "./ethConsolidateTokenIntent";
54
+ import { EthTransferTokenIntent } from "./ethTransferTokenIntent";
55
+ import { BaseIntent } from "./baseIntent";
56
+ import { DotConsolidateIntent } from "./dotConsolidateIntent";
49
57
 
50
58
  export const TransactionIntent = t.union([
51
59
  AdaConsolidateIntent,
@@ -66,17 +74,23 @@ export const TransactionIntent = t.union([
66
74
  CosmosSwitchValidatorIntent,
67
75
  CosmosUnstakeIntent,
68
76
  CosmosWithdrawIntent,
77
+ DotConsolidateIntent,
69
78
  DotCreateAccountIntent,
70
79
  DotPaymentIntent,
71
80
  DotStakingIntent,
72
81
  DotUnstakingIntent,
73
82
  DotWithdrawStakeIntent,
74
83
  EthAccelerationIntent,
84
+ EthConsolidateIntent,
85
+ EthConsolidateIntent,
86
+ EthConsolidateTokenIntent,
75
87
  EthFillNonceIntent,
76
88
  EthPaymentIntent,
77
89
  EthStakingIntent,
90
+ EthTransferTokenIntent,
78
91
  LightningPaymentIntent,
79
92
  MmiSignMessageIntent,
93
+ MmiSignTransactionIntent,
80
94
  NearStakeIntent,
81
95
  NearUnstakeIntent,
82
96
  NearWithdrawIntent,
@@ -88,7 +102,9 @@ export const TransactionIntent = t.union([
88
102
  SolDelegateIntent,
89
103
  SolStakeIntent,
90
104
  SolUnstakeIntent,
105
+ SuiConsolidateIntent,
91
106
  SuiCustomTxIntent,
107
+ SuiPaymentIntent,
92
108
  SuiStakingIntent,
93
109
  SuiUnstakingIntent,
94
110
  TonConsolidateIntent,
@@ -99,7 +115,7 @@ export const TransactionIntent = t.union([
99
115
  /**
100
116
  * Catch all for past intents that have not been converted to codecs
101
117
  */
102
- t.unknown,
118
+ BaseIntent,
103
119
  ]);
104
120
 
105
121
  export type TransactionIntent = t.TypeOf<typeof TransactionIntent>;
@@ -0,0 +1,13 @@
1
+ import * as t from "io-ts";
2
+ import { PaymentIntent } from "./paymentIntent";
3
+
4
+ export const MmiSignTransactionIntent = t.intersection([
5
+ PaymentIntent,
6
+ t.type({
7
+ custodianTransactionId: t.string,
8
+ }),
9
+ ]);
10
+
11
+ export type MmiSignTransactionIntent = t.TypeOf<
12
+ typeof MmiSignTransactionIntent
13
+ >;
@@ -3,10 +3,14 @@ import { optionalString } from "../../../utils";
3
3
  import { Address } from "./address";
4
4
  import { Amount } from "./amount";
5
5
 
6
- export const RecipientEntry = t.type({
7
- address: Address,
8
- amount: Amount,
9
- data: optionalString,
10
- });
6
+ export const RecipientEntry = t.intersection([
7
+ t.type({
8
+ address: Address,
9
+ amount: Amount,
10
+ }),
11
+ t.partial({
12
+ data: optionalString,
13
+ }),
14
+ ]);
11
15
 
12
16
  export type RecipientEntry = t.TypeOf<typeof RecipientEntry>;
@@ -9,6 +9,8 @@ export const SolUnstakeIntent = t.intersection([
9
9
  SolBuildOptions,
10
10
  t.type({
11
11
  stakingAddress: t.string,
12
+ }),
13
+ t.partial({
12
14
  amount: Optional(Amount),
13
15
  remainingStakingAmount: Optional(Amount),
14
16
  }),
@@ -0,0 +1,10 @@
1
+ import * as t from "io-ts";
2
+ import { SuiBuildOptions } from "./suiBuildOptions";
3
+ import { AccountBaseConsolidateIntent } from "./accountBaseConsolidateIntent";
4
+
5
+ export const SuiConsolidateIntent = t.intersection([
6
+ AccountBaseConsolidateIntent,
7
+ SuiBuildOptions,
8
+ ]);
9
+
10
+ export type SuiConsolidateIntent = t.TypeOf<typeof SuiConsolidateIntent>;
@@ -0,0 +1,10 @@
1
+ import * as t from "io-ts";
2
+ import { SuiBuildOptions } from "./suiBuildOptions";
3
+ import { PaymentIntent } from "./paymentIntent";
4
+
5
+ export const SuiPaymentIntent = t.intersection([
6
+ PaymentIntent,
7
+ SuiBuildOptions,
8
+ ]);
9
+
10
+ export type SuiPaymentIntent = t.TypeOf<typeof SuiPaymentIntent>;
@@ -6,7 +6,7 @@ import { RecipientEntry } from "./recipientEntry";
6
6
 
7
7
  export const SuiStakingIntent = t.intersection([
8
8
  StakeIntent,
9
- t.type({
9
+ t.partial({
10
10
  validatorAddress: optionalString,
11
11
  amount: Optional(Amount),
12
12
  recipients: Optional(t.array(RecipientEntry)),
@@ -7,6 +7,8 @@ export const SuiUnstakingIntent = t.intersection([
7
7
  WithdrawIntent,
8
8
  t.type({
9
9
  stakedSuiObjectId: t.string,
10
+ }),
11
+ t.partial({
10
12
  amount: Optional(Amount),
11
13
  }),
12
14
  ]);
@@ -1,9 +1,13 @@
1
1
  import * as t from "io-ts";
2
2
  import { optionalString } from "../../../utils";
3
3
 
4
- export const TokenEnablement = t.type({
5
- name: t.string,
6
- address: optionalString,
7
- });
4
+ export const TokenEnablement = t.intersection([
5
+ t.type({
6
+ name: t.string,
7
+ }),
8
+ t.partial({
9
+ address: optionalString,
10
+ }),
11
+ ]);
8
12
 
9
13
  export type TokenEnablement = t.TypeOf<typeof TokenEnablement>;
@@ -1,10 +1,14 @@
1
1
  import * as t from "io-ts";
2
2
  import { optionalString } from "../../../utils";
3
3
 
4
- export const TokenRecipientEntryItem = t.type({
5
- tokenId: optionalString,
6
- tokenQuantity: t.string,
7
- tokenType: t.string,
8
- });
4
+ export const TokenRecipientEntryItem = t.intersection([
5
+ t.type({
6
+ tokenQuantity: t.string,
7
+ tokenType: t.string,
8
+ }),
9
+ t.partial({
10
+ tokenId: optionalString,
11
+ }),
12
+ ]);
9
13
 
10
14
  export type TokenRecipientEntryItem = t.TypeOf<typeof TokenRecipientEntryItem>;
@@ -4,7 +4,7 @@ import { optionalString } from "../../../utils";
4
4
 
5
5
  export const TonPaymentIntent = t.intersection([
6
6
  PaymentIntent,
7
- t.type({
7
+ t.partial({
8
8
  memo: optionalString,
9
9
  }),
10
10
  ]);
@@ -1,12 +1,10 @@
1
1
  import * as t from "io-ts";
2
2
  import { BaseIntent } from "./baseIntent";
3
- import { EthBuildOptions } from "./ethBuildOptions";
4
3
  import { TokenRecipientEntry } from "./tokenRecipientEntry";
5
4
  import { intentTypes } from "./intentType";
6
5
 
7
6
  export const TransferTokenIntent = t.intersection([
8
7
  BaseIntent,
9
- EthBuildOptions,
10
8
  t.type({
11
9
  intentType: intentTypes.transferToken,
12
10
  recipients: t.array(TokenRecipientEntry),
@@ -1,7 +1,7 @@
1
1
  import * as t from "io-ts";
2
2
  import { optionalNumber, optionalString } from "../../../utils";
3
3
 
4
- export const UnsupportedTokenRecipientEntryItem = t.type({
4
+ export const UnsupportedTokenRecipientEntryItem = t.partial({
5
5
  tokenContractAddress: optionalString,
6
6
  decimals: optionalNumber,
7
7
  });
@@ -8,6 +8,8 @@ export const WithdrawIntent = t.intersection([
8
8
  BaseStakeIntent,
9
9
  t.type({
10
10
  intentType: intentTypes.claim,
11
+ }),
12
+ t.partial({
11
13
  amount: Optional(Amount),
12
14
  }),
13
15
  ]);