@otim/utils 0.0.10 → 0.0.12

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 (99) hide show
  1. package/dist/api/index.d.mts +3 -9
  2. package/dist/api/index.d.mts.map +1 -1
  3. package/dist/api/index.d.ts +3 -9
  4. package/dist/api/index.d.ts.map +1 -1
  5. package/dist/api/index.js +8 -9
  6. package/dist/api/index.js.map +1 -1
  7. package/dist/api/index.mjs +7 -9
  8. package/dist/api/index.mjs.map +1 -1
  9. package/dist/{api-urls-DJcIKBCy.mjs → api-urls-B6RnXSRD.mjs} +1 -1
  10. package/dist/{api-urls-DJcIKBCy.mjs.map → api-urls-B6RnXSRD.mjs.map} +1 -1
  11. package/dist/{api-urls-B-GTEiT3.d.mts → api-urls-DacG9Q5P.d.mts} +1 -1
  12. package/dist/api-urls-DacG9Q5P.d.mts.map +1 -0
  13. package/dist/{api-urls-SKeIQMoZ.d.ts → api-urls-Dgxfefmy.d.ts} +1 -1
  14. package/dist/api-urls-Dgxfefmy.d.ts.map +1 -0
  15. package/dist/chains/index.d.mts +1419 -8870
  16. package/dist/chains/index.d.mts.map +1 -1
  17. package/dist/chains/index.d.ts +1419 -8870
  18. package/dist/chains/index.d.ts.map +1 -1
  19. package/dist/chains/index.js +11 -14
  20. package/dist/chains/index.js.map +1 -1
  21. package/dist/chains/index.mjs +3 -7
  22. package/dist/chains/index.mjs.map +1 -1
  23. package/dist/{chunk-kSYXY2_d.js → chunk-BE-pF4vm.js} +1 -1
  24. package/dist/{client-factory-C3A4RPdj.d.ts → client-factory-B12uLPUI.d.ts} +2 -2
  25. package/dist/client-factory-B12uLPUI.d.ts.map +1 -0
  26. package/dist/{client-factory-7xUSPC9I.mjs → client-factory-DY6UNuuV.mjs} +2 -2
  27. package/dist/{client-factory-7xUSPC9I.mjs.map → client-factory-DY6UNuuV.mjs.map} +1 -1
  28. package/dist/{client-factory-CTI_Nt35.js → client-factory-Drsy2vfF.js} +2 -2
  29. package/dist/{client-factory-CTI_Nt35.js.map → client-factory-Drsy2vfF.js.map} +1 -1
  30. package/dist/{client-factory-DOL0ZTWy.d.mts → client-factory-Dt4S4yZY.d.mts} +2 -2
  31. package/dist/client-factory-Dt4S4yZY.d.mts.map +1 -0
  32. package/dist/constants.d.mts.map +1 -1
  33. package/dist/constants.d.ts.map +1 -1
  34. package/dist/constants.js +1 -0
  35. package/dist/constants.js.map +1 -1
  36. package/dist/{date-gBac-Om9.mjs → date-BGw9dSBT.mjs} +1 -1
  37. package/dist/{date-gBac-Om9.mjs.map → date-BGw9dSBT.mjs.map} +1 -1
  38. package/dist/{date-CFzrYcjE.js → date-G7-DHP8t.js} +2 -2
  39. package/dist/{date-CFzrYcjE.js.map → date-G7-DHP8t.js.map} +1 -1
  40. package/dist/{defineProperty-DbMdhrDE.js → defineProperty-DXYX3Aus.js} +8 -8
  41. package/dist/{defineProperty-DzhmunJg.mjs → defineProperty-D_Wrem5y.mjs} +8 -8
  42. package/dist/helpers/index.d.mts.map +1 -1
  43. package/dist/helpers/index.d.ts.map +1 -1
  44. package/dist/helpers/index.js +69 -68
  45. package/dist/helpers/index.mjs +2 -2
  46. package/dist/instructions/index.d.mts.map +1 -1
  47. package/dist/instructions/index.d.ts.map +1 -1
  48. package/dist/instructions/index.js +2 -1
  49. package/dist/instructions/index.js.map +1 -1
  50. package/dist/payments/index.d.mts +4 -3
  51. package/dist/payments/index.d.mts.map +1 -1
  52. package/dist/payments/index.d.ts +4 -3
  53. package/dist/payments/index.d.ts.map +1 -1
  54. package/dist/payments/index.js +4 -3
  55. package/dist/payments/index.js.map +1 -1
  56. package/dist/payments/index.mjs +2 -2
  57. package/dist/schemas/index.d.mts +1 -1
  58. package/dist/schemas/index.d.ts +1 -1
  59. package/dist/schemas/index.js +4 -3
  60. package/dist/schemas/index.js.map +1 -1
  61. package/dist/schemas/index.mjs +2 -2
  62. package/dist/schemas/index.mjs.map +1 -1
  63. package/dist/server/index.d.mts +2 -3
  64. package/dist/server/index.d.mts.map +1 -1
  65. package/dist/server/index.d.ts +2 -3
  66. package/dist/server/index.d.ts.map +1 -1
  67. package/dist/server/index.js +2 -1
  68. package/dist/server/index.js.map +1 -1
  69. package/dist/server/index.mjs +2 -2
  70. package/dist/server/react.d.mts +1 -1
  71. package/dist/server/react.d.mts.map +1 -1
  72. package/dist/server/react.d.ts +1 -1
  73. package/dist/server/react.d.ts.map +1 -1
  74. package/dist/server/react.js +3 -2
  75. package/dist/server/react.js.map +1 -1
  76. package/dist/server/react.mjs +1 -1
  77. package/dist/{index-B5dVIR_K.d.ts → user-CbQLjMOC.d.mts} +2 -2
  78. package/dist/user-CbQLjMOC.d.mts.map +1 -0
  79. package/dist/{index-BW-iKuuM.d.mts → user-ZFlczCh8.d.ts} +2 -2
  80. package/dist/user-ZFlczCh8.d.ts.map +1 -0
  81. package/dist/wallet/wagmi/index.d.mts +0 -1
  82. package/dist/wallet/wagmi/index.d.mts.map +1 -1
  83. package/dist/wallet/wagmi/index.d.ts +0 -1
  84. package/dist/wallet/wagmi/index.d.ts.map +1 -1
  85. package/dist/wallet/wagmi/index.js +2 -1
  86. package/dist/wallet/wagmi/index.js.map +1 -1
  87. package/dist/{helpers-BNiSxjGq.mjs → zod-CFr-iyX9.mjs} +3 -3
  88. package/dist/zod-CFr-iyX9.mjs.map +1 -0
  89. package/dist/{helpers-DoC7Xl12.js → zod-CjftwcOJ.js} +4 -4
  90. package/dist/zod-CjftwcOJ.js.map +1 -0
  91. package/package.json +4 -4
  92. package/dist/api-urls-B-GTEiT3.d.mts.map +0 -1
  93. package/dist/api-urls-SKeIQMoZ.d.ts.map +0 -1
  94. package/dist/client-factory-C3A4RPdj.d.ts.map +0 -1
  95. package/dist/client-factory-DOL0ZTWy.d.mts.map +0 -1
  96. package/dist/helpers-BNiSxjGq.mjs.map +0 -1
  97. package/dist/helpers-DoC7Xl12.js.map +0 -1
  98. package/dist/index-B5dVIR_K.d.ts.map +0 -1
  99. package/dist/index-BW-iKuuM.d.mts.map +0 -1
@@ -1,106 +1,107 @@
1
- const require_helpers = require('../helpers-DoC7Xl12.js');
2
- const require_date = require('../date-CFzrYcjE.js');
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
+ const require_zod = require('../zod-CjftwcOJ.js');
3
+ const require_date = require('../date-G7-DHP8t.js');
3
4
 
4
- exports.DEFAULT_ADDRESS = require_helpers.DEFAULT_ADDRESS;
5
- exports.ETHEREUM_ADDRESS_REGEX = require_helpers.ETHEREUM_ADDRESS_REGEX;
6
- exports.PollingManager = require_helpers.PollingManager;
5
+ exports.DEFAULT_ADDRESS = require_zod.DEFAULT_ADDRESS;
6
+ exports.ETHEREUM_ADDRESS_REGEX = require_zod.ETHEREUM_ADDRESS_REGEX;
7
+ exports.PollingManager = require_zod.PollingManager;
7
8
  exports.TimeUnit = require_date.TimeUnit;
8
- exports.areAddressesEqual = require_helpers.areAddressesEqual;
9
- exports.buildQueryString = require_helpers.buildQueryString;
10
- exports.buildUrl = require_helpers.buildUrl;
11
- exports.capitalize = require_helpers.capitalize;
12
- exports.closeEmergentWindow = require_helpers.closeEmergentWindow;
13
- exports.coerceSecondsFromTimeUnitValue = require_helpers.coerceSecondsFromTimeUnitValue;
14
- exports.composeValidators = require_helpers.composeValidators;
15
- exports.createEIP2098Signature = require_helpers.createEIP2098Signature;
16
- exports.createTimeUnitValidator = require_helpers.createTimeUnitValidator;
17
- exports.dateMaskOptions = require_helpers.dateMaskOptions;
18
- exports.extractBaseActivityDetails = require_helpers.extractBaseActivityDetails;
9
+ exports.areAddressesEqual = require_zod.areAddressesEqual;
10
+ exports.buildQueryString = require_zod.buildQueryString;
11
+ exports.buildUrl = require_zod.buildUrl;
12
+ exports.capitalize = require_zod.capitalize;
13
+ exports.closeEmergentWindow = require_zod.closeEmergentWindow;
14
+ exports.coerceSecondsFromTimeUnitValue = require_zod.coerceSecondsFromTimeUnitValue;
15
+ exports.composeValidators = require_zod.composeValidators;
16
+ exports.createEIP2098Signature = require_zod.createEIP2098Signature;
17
+ exports.createTimeUnitValidator = require_zod.createTimeUnitValidator;
18
+ exports.dateMaskOptions = require_zod.dateMaskOptions;
19
+ exports.extractBaseActivityDetails = require_zod.extractBaseActivityDetails;
19
20
  exports.extractNumber = require_date.extractNumber;
20
21
  exports.extractString = require_date.extractString;
21
- exports.floorToDecimals = require_helpers.floorToDecimals;
22
- exports.focusMainWindow = require_helpers.focusMainWindow;
23
- exports.formDecimalStringSchema = require_helpers.formDecimalStringSchema;
24
- exports.formHexStringSchema = require_helpers.formHexStringSchema;
25
- exports.formatAmount = require_helpers.formatAmount;
26
- exports.formatCurrency = require_helpers.formatCurrency;
22
+ exports.floorToDecimals = require_zod.floorToDecimals;
23
+ exports.focusMainWindow = require_zod.focusMainWindow;
24
+ exports.formDecimalStringSchema = require_zod.formDecimalStringSchema;
25
+ exports.formHexStringSchema = require_zod.formHexStringSchema;
26
+ exports.formatAmount = require_zod.formatAmount;
27
+ exports.formatCurrency = require_zod.formatCurrency;
27
28
  exports.formatDateAsISO = require_date.formatDateAsISO;
28
29
  exports.formatDateAsUSStandard = require_date.formatDateAsUSStandard;
29
30
  exports.formatDateTime = require_date.formatDateTime;
30
31
  exports.formatDateToYYYYMMDD = require_date.formatDateToYYYYMMDD;
31
- exports.formatExternalAccountName = require_helpers.formatExternalAccountName;
32
+ exports.formatExternalAccountName = require_zod.formatExternalAccountName;
32
33
  exports.formatFullDate = require_date.formatFullDate;
33
34
  exports.formatLongDate = require_date.formatLongDate;
34
35
  exports.formatLongDateTime = require_date.formatLongDateTime;
35
- exports.formatNumberAsUSStandard = require_helpers.formatNumberAsUSStandard;
36
- exports.formatSignatureToEIP2098 = require_helpers.formatSignatureToEIP2098;
37
- exports.formatSmartCurrency = require_helpers.formatSmartCurrency;
36
+ exports.formatNumberAsUSStandard = require_zod.formatNumberAsUSStandard;
37
+ exports.formatSignatureToEIP2098 = require_zod.formatSignatureToEIP2098;
38
+ exports.formatSmartCurrency = require_zod.formatSmartCurrency;
38
39
  exports.formatTime = require_date.formatTime;
39
40
  exports.formatToJustDate = require_date.formatToJustDate;
40
41
  exports.formatToShortDate = require_date.formatToShortDate;
41
42
  exports.formatToShortDateWithYear = require_date.formatToShortDateWithYear;
42
- exports.formatUUID = require_helpers.formatUUID;
43
- exports.formatUsd = require_helpers.formatUsd;
44
- exports.formatUsdAmount = require_helpers.formatUsdAmount;
45
- exports.formattedNumber = require_helpers.formattedNumber;
46
- exports.getBaseDomain = require_helpers.getBaseDomain;
47
- exports.getChainRpcUrl = require_helpers.getChainRpcUrl;
48
- exports.getDisplayableZodError = require_helpers.getDisplayableZodError;
43
+ exports.formatUUID = require_zod.formatUUID;
44
+ exports.formatUsd = require_zod.formatUsd;
45
+ exports.formatUsdAmount = require_zod.formatUsdAmount;
46
+ exports.formattedNumber = require_zod.formattedNumber;
47
+ exports.getBaseDomain = require_zod.getBaseDomain;
48
+ exports.getChainRpcUrl = require_zod.getChainRpcUrl;
49
+ exports.getDisplayableZodError = require_zod.getDisplayableZodError;
49
50
  exports.getPluralizedUnit = require_date.getPluralizedUnit;
50
51
  exports.getRelativeDateDescription = require_date.getRelativeDateDescription;
51
- exports.getSecondsFromTimeUnitValue = require_helpers.getSecondsFromTimeUnitValue;
52
- exports.i18n = require_helpers.i18n;
52
+ exports.getSecondsFromTimeUnitValue = require_zod.getSecondsFromTimeUnitValue;
53
+ exports.i18n = require_zod.i18n;
53
54
  exports.isBoolean = require_date.isBoolean;
54
- exports.isCctpBurnActivity = require_helpers.isCctpBurnActivity;
55
- exports.isClient = require_helpers.isClient;
55
+ exports.isCctpBurnActivity = require_zod.isCctpBurnActivity;
56
+ exports.isClient = require_zod.isClient;
56
57
  exports.isDateEpoc = require_date.isDateEpoc;
57
58
  exports.isDateInPast = require_date.isDateInPast;
58
59
  exports.isDateInRange = require_date.isDateInRange;
59
60
  exports.isDateInvalid = require_date.isDateInvalid;
60
61
  exports.isEmpty = require_date.isEmpty;
61
- exports.isErc4626DepositActivity = require_helpers.isErc4626DepositActivity;
62
- exports.isErc4626WithdrawActivity = require_helpers.isErc4626WithdrawActivity;
62
+ exports.isErc4626DepositActivity = require_zod.isErc4626DepositActivity;
63
+ exports.isErc4626WithdrawActivity = require_zod.isErc4626WithdrawActivity;
63
64
  exports.isError = require_date.isError;
64
65
  exports.isFunction = require_date.isFunction;
65
66
  exports.isNotNull = require_date.isNotNull;
66
67
  exports.isNull = require_date.isNull;
67
- exports.isNullAddress = require_helpers.isNullAddress;
68
+ exports.isNullAddress = require_zod.isNullAddress;
68
69
  exports.isNumber = require_date.isNumber;
69
70
  exports.isObject = require_date.isObject;
70
71
  exports.isSameDate = require_date.isSameDate;
71
- exports.isScriptLoaded = require_helpers.isScriptLoaded;
72
+ exports.isScriptLoaded = require_zod.isScriptLoaded;
72
73
  exports.isString = require_date.isString;
73
- exports.isSwapActivity = require_helpers.isSwapActivity;
74
- exports.isTransferActivity = require_helpers.isTransferActivity;
74
+ exports.isSwapActivity = require_zod.isSwapActivity;
75
+ exports.isTransferActivity = require_zod.isTransferActivity;
75
76
  exports.isUndefined = require_date.isUndefined;
76
77
  exports.isValidDate = require_date.isValidDate;
77
- exports.isValidEthereumAddress = require_helpers.isValidEthereumAddress;
78
- exports.isValidTimeUnitValue = require_helpers.isValidTimeUnitValue;
79
- exports.isValidV = require_helpers.isValidV;
78
+ exports.isValidEthereumAddress = require_zod.isValidEthereumAddress;
79
+ exports.isValidTimeUnitValue = require_zod.isValidTimeUnitValue;
80
+ exports.isValidV = require_zod.isValidV;
80
81
  exports.iso8601DateSchema = require_date.iso8601DateSchema;
81
- exports.loadExternalSdk = require_helpers.loadExternalSdk;
82
- exports.localeSchema = require_helpers.localeSchema;
82
+ exports.loadExternalSdk = require_zod.loadExternalSdk;
83
+ exports.localeSchema = require_zod.localeSchema;
83
84
  exports.logger = require_date.logger;
84
- exports.normalizeV = require_helpers.normalizeV;
85
- exports.numFormatter = require_helpers.numFormatter;
86
- exports.openCenteredEmergentWindow = require_helpers.openCenteredEmergentWindow;
85
+ exports.normalizeV = require_zod.normalizeV;
86
+ exports.numFormatter = require_zod.numFormatter;
87
+ exports.openCenteredEmergentWindow = require_zod.openCenteredEmergentWindow;
87
88
  exports.parseDateTime = require_date.parseDateTime;
88
- exports.parseHexAmount = require_helpers.parseHexAmount;
89
- exports.parseSchema = require_helpers.parseSchema;
90
- exports.parseSignatureToVRS = require_helpers.parseSignatureToVRS;
91
- exports.parseTimeUnitValue = require_helpers.parseTimeUnitValue;
92
- exports.performRedirect = require_helpers.performRedirect;
93
- exports.postalCodeMaskOptions = require_helpers.postalCodeMaskOptions;
94
- exports.randomNumber = require_helpers.randomNumber;
89
+ exports.parseHexAmount = require_zod.parseHexAmount;
90
+ exports.parseSchema = require_zod.parseSchema;
91
+ exports.parseSignatureToVRS = require_zod.parseSignatureToVRS;
92
+ exports.parseTimeUnitValue = require_zod.parseTimeUnitValue;
93
+ exports.performRedirect = require_zod.performRedirect;
94
+ exports.postalCodeMaskOptions = require_zod.postalCodeMaskOptions;
95
+ exports.randomNumber = require_zod.randomNumber;
95
96
  exports.safeFormatDate = require_date.safeFormatDate;
96
- exports.serializeTimeUnitValue = require_helpers.serializeTimeUnitValue;
97
- exports.timeMaskOptionsHHMM = require_helpers.timeMaskOptionsHHMM;
98
- exports.timeOptions = require_helpers.timeOptions;
99
- exports.timeOptionsWithoutMeridiem = require_helpers.timeOptionsWithoutMeridiem;
100
- exports.timeUnitInputValueSchema = require_helpers.timeUnitInputValueSchema;
101
- exports.timestampToISOString = require_helpers.timestampToISOString;
102
- exports.toTitleCase = require_helpers.toTitleCase;
103
- exports.truncateAddress = require_helpers.truncateAddress;
104
- exports.usdCurrencyMaskOptions = require_helpers.usdCurrencyMaskOptions;
105
- exports.uuidMaskOptions = require_helpers.uuidMaskOptions;
97
+ exports.serializeTimeUnitValue = require_zod.serializeTimeUnitValue;
98
+ exports.timeMaskOptionsHHMM = require_zod.timeMaskOptionsHHMM;
99
+ exports.timeOptions = require_zod.timeOptions;
100
+ exports.timeOptionsWithoutMeridiem = require_zod.timeOptionsWithoutMeridiem;
101
+ exports.timeUnitInputValueSchema = require_zod.timeUnitInputValueSchema;
102
+ exports.timestampToISOString = require_zod.timestampToISOString;
103
+ exports.toTitleCase = require_zod.toTitleCase;
104
+ exports.truncateAddress = require_zod.truncateAddress;
105
+ exports.usdCurrencyMaskOptions = require_zod.usdCurrencyMaskOptions;
106
+ exports.uuidMaskOptions = require_zod.uuidMaskOptions;
106
107
  exports.validateIso8601Date = require_date.validateIso8601Date;
@@ -1,4 +1,4 @@
1
- import { $ as isValidEthereumAddress, A as uuidMaskOptions, B as formatExternalAccountName, C as dateMaskOptions, D as timeOptions, E as timeMaskOptionsHHMM, F as formatUsd, G as parseTimeUnitValue, H as coerceSecondsFromTimeUnitValue, I as formatUsdAmount, J as DEFAULT_ADDRESS, K as serializeTimeUnitValue, L as formattedNumber, M as formatAmount, N as formatCurrency, O as timeOptionsWithoutMeridiem, P as formatSmartCurrency, Q as isNullAddress, R as i18n, S as numFormatter, T as postalCodeMaskOptions, U as getSecondsFromTimeUnitValue, V as getBaseDomain, W as isValidTimeUnitValue, X as createEIP2098Signature, Y as ETHEREUM_ADDRESS_REGEX, Z as getChainRpcUrl, _ as focusMainWindow, a as getDisplayableZodError, at as extractBaseActivityDetails, b as performRedirect, c as buildUrl, ct as isErc4626WithdrawActivity, d as formatSignatureToEIP2098, dt as timestampToISOString, et as isValidV, f as isScriptLoaded, ft as areAddressesEqual, g as closeEmergentWindow, h as PollingManager, i as formHexStringSchema, it as truncateAddress, j as floorToDecimals, k as usdCurrencyMaskOptions, l as capitalize, lt as isSwapActivity, m as randomNumber, n as createTimeUnitValidator, nt as parseHexAmount, o as parseSchema, ot as isCctpBurnActivity, p as loadExternalSdk, q as timeUnitInputValueSchema, r as formDecimalStringSchema, rt as parseSignatureToVRS, s as buildQueryString, st as isErc4626DepositActivity, t as composeValidators, tt as normalizeV, u as toTitleCase, ut as isTransferActivity, v as isClient, w as formatUUID, x as formatNumberAsUSStandard, y as openCenteredEmergentWindow, z as localeSchema } from "../helpers-BNiSxjGq.mjs";
2
- import { A as isError, C as safeFormatDate, D as extractString, E as extractNumber, F as isObject, I as isString, L as isUndefined, M as isNotNull, N as isNull, O as isBoolean, P as isNumber, S as parseDateTime, T as logger, _ as isDateInRange, a as formatDateToYYYYMMDD, b as isValidDate, c as formatLongDateTime, d as formatToShortDate, f as formatToShortDateWithYear, g as isDateInPast, h as isDateEpoc, i as formatDateTime, j as isFunction, k as isEmpty, l as formatTime, m as getRelativeDateDescription, n as formatDateAsISO, o as formatFullDate, p as getPluralizedUnit, r as formatDateAsUSStandard, s as formatLongDate, t as TimeUnit, u as formatToJustDate, v as isDateInvalid, w as validateIso8601Date, x as iso8601DateSchema, y as isSameDate } from "../date-gBac-Om9.mjs";
1
+ import { $ as isValidEthereumAddress, A as uuidMaskOptions, B as formatExternalAccountName, C as dateMaskOptions, D as timeOptions, E as timeMaskOptionsHHMM, F as formatUsd, G as parseTimeUnitValue, H as coerceSecondsFromTimeUnitValue, I as formatUsdAmount, J as DEFAULT_ADDRESS, K as serializeTimeUnitValue, L as formattedNumber, M as formatAmount, N as formatCurrency, O as timeOptionsWithoutMeridiem, P as formatSmartCurrency, Q as isNullAddress, R as i18n, S as numFormatter, T as postalCodeMaskOptions, U as getSecondsFromTimeUnitValue, V as getBaseDomain, W as isValidTimeUnitValue, X as createEIP2098Signature, Y as ETHEREUM_ADDRESS_REGEX, Z as getChainRpcUrl, _ as focusMainWindow, a as getDisplayableZodError, at as extractBaseActivityDetails, b as performRedirect, c as buildUrl, ct as isErc4626WithdrawActivity, d as formatSignatureToEIP2098, dt as timestampToISOString, et as isValidV, f as isScriptLoaded, ft as areAddressesEqual, g as closeEmergentWindow, h as PollingManager, i as formHexStringSchema, it as truncateAddress, j as floorToDecimals, k as usdCurrencyMaskOptions, l as capitalize, lt as isSwapActivity, m as randomNumber, n as createTimeUnitValidator, nt as parseHexAmount, o as parseSchema, ot as isCctpBurnActivity, p as loadExternalSdk, q as timeUnitInputValueSchema, r as formDecimalStringSchema, rt as parseSignatureToVRS, s as buildQueryString, st as isErc4626DepositActivity, t as composeValidators, tt as normalizeV, u as toTitleCase, ut as isTransferActivity, v as isClient, w as formatUUID, x as formatNumberAsUSStandard, y as openCenteredEmergentWindow, z as localeSchema } from "../zod-CFr-iyX9.mjs";
2
+ import { A as isError, C as safeFormatDate, D as extractString, E as extractNumber, F as isObject, I as isString, L as isUndefined, M as isNotNull, N as isNull, O as isBoolean, P as isNumber, S as parseDateTime, T as logger, _ as isDateInRange, a as formatDateToYYYYMMDD, b as isValidDate, c as formatLongDateTime, d as formatToShortDate, f as formatToShortDateWithYear, g as isDateInPast, h as isDateEpoc, i as formatDateTime, j as isFunction, k as isEmpty, l as formatTime, m as getRelativeDateDescription, n as formatDateAsISO, o as formatFullDate, p as getPluralizedUnit, r as formatDateAsUSStandard, s as formatLongDate, t as TimeUnit, u as formatToJustDate, v as isDateInvalid, w as validateIso8601Date, x as iso8601DateSchema, y as isSameDate } from "../date-BGw9dSBT.mjs";
3
3
 
4
4
  export { DEFAULT_ADDRESS, ETHEREUM_ADDRESS_REGEX, PollingManager, TimeUnit, areAddressesEqual, buildQueryString, buildUrl, capitalize, closeEmergentWindow, coerceSecondsFromTimeUnitValue, composeValidators, createEIP2098Signature, createTimeUnitValidator, dateMaskOptions, extractBaseActivityDetails, extractNumber, extractString, floorToDecimals, focusMainWindow, formDecimalStringSchema, formHexStringSchema, formatAmount, formatCurrency, formatDateAsISO, formatDateAsUSStandard, formatDateTime, formatDateToYYYYMMDD, formatExternalAccountName, formatFullDate, formatLongDate, formatLongDateTime, formatNumberAsUSStandard, formatSignatureToEIP2098, formatSmartCurrency, formatTime, formatToJustDate, formatToShortDate, formatToShortDateWithYear, formatUUID, formatUsd, formatUsdAmount, formattedNumber, getBaseDomain, getChainRpcUrl, getDisplayableZodError, getPluralizedUnit, getRelativeDateDescription, getSecondsFromTimeUnitValue, i18n, isBoolean, isCctpBurnActivity, isClient, isDateEpoc, isDateInPast, isDateInRange, isDateInvalid, isEmpty, isErc4626DepositActivity, isErc4626WithdrawActivity, isError, isFunction, isNotNull, isNull, isNullAddress, isNumber, isObject, isSameDate, isScriptLoaded, isString, isSwapActivity, isTransferActivity, isUndefined, isValidDate, isValidEthereumAddress, isValidTimeUnitValue, isValidV, iso8601DateSchema, loadExternalSdk, localeSchema, logger, normalizeV, numFormatter, openCenteredEmergentWindow, parseDateTime, parseHexAmount, parseSchema, parseSignatureToVRS, parseTimeUnitValue, performRedirect, postalCodeMaskOptions, randomNumber, safeFormatDate, serializeTimeUnitValue, timeMaskOptionsHHMM, timeOptions, timeOptionsWithoutMeridiem, timeUnitInputValueSchema, timestampToISOString, toTitleCase, truncateAddress, usdCurrencyMaskOptions, uuidMaskOptions, validateIso8601Date };
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.mts","names":[],"sources":["../../src/instructions/types.ts","../../src/instructions/actions/refuel/index.ts","../../src/instructions/actions/swap/index.ts","../../src/instructions/actions/transfer/index.ts","../../src/instructions/actions/vault/index.ts","../../src/instructions/activate.ts","../../src/instructions/build.ts","../../src/instructions/constants.ts"],"sourcesContent":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.mts","names":[],"sources":["../../src/instructions/types.ts","../../src/instructions/actions/refuel/index.ts","../../src/instructions/actions/swap/index.ts","../../src/instructions/actions/transfer/index.ts","../../src/instructions/actions/vault/index.ts","../../src/instructions/activate.ts","../../src/instructions/build.ts","../../src/instructions/constants.ts"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","names":[],"sources":["../../src/instructions/types.ts","../../src/instructions/actions/refuel/index.ts","../../src/instructions/actions/swap/index.ts","../../src/instructions/actions/transfer/index.ts","../../src/instructions/actions/vault/index.ts","../../src/instructions/activate.ts","../../src/instructions/build.ts","../../src/instructions/constants.ts"],"sourcesContent":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","names":[],"sources":["../../src/instructions/types.ts","../../src/instructions/actions/refuel/index.ts","../../src/instructions/actions/swap/index.ts","../../src/instructions/actions/transfer/index.ts","../../src/instructions/actions/vault/index.ts","../../src/instructions/activate.ts","../../src/instructions/build.ts","../../src/instructions/constants.ts"],"mappings":"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"}
@@ -1,4 +1,5 @@
1
- const require_chunk = require('../chunk-kSYXY2_d.js');
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
+ const require_chunk = require('../chunk-BE-pF4vm.js');
2
3
  let _otim_utils_schemas = require("@otim/utils/schemas");
3
4
  let _otim_utils_helpers = require("@otim/utils/helpers");
4
5
  let viem = require("viem");
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["toCamelCase","InstructionAction","InstructionAction","InstructionAction","InstructionAction","InstructionAction","InstructionAction","InstructionAction","refuelTypes","refuelERC20Types","transferTypes","transferERC20Types","uniswapV3ExactInputTypes","sweepTypes","sweepERC20Types","sweepCCTPTypes","sweepUniswapV3Types","sweepSkipCCTPDepositAccountTypes","deactivateInstructionTypes","depositERC4626Types","sweepDepositERC4626Types","withdrawERC4626Types","sweepWithdrawERC4626Types","sweepDepositAccountTypes","sweepDepositAccountERC20Types"],"sources":["../../src/instructions/constants.ts","../../src/instructions/build.ts","../../src/instructions/actions/refuel/index.ts","../../src/instructions/actions/swap/index.ts","../../src/instructions/actions/transfer/index.ts","../../src/instructions/actions/vault/index.ts","../../src/instructions/contracts/artifacts/abi/build-instruction-action-arguments-abi.ts","../../src/instructions/contracts/schemas/eip-712/actions/deactivate-instruction.json","../../src/instructions/contracts/schemas/eip-712/actions/deposit-erc4626.json","../../src/instructions/contracts/schemas/eip-712/actions/refuel-erc20.json","../../src/instructions/contracts/schemas/eip-712/actions/refuel.json","../../src/instructions/contracts/schemas/eip-712/actions/sweep-cctp.json","../../src/instructions/contracts/schemas/eip-712/actions/sweep-deposit-account-erc20.json","../../src/instructions/contracts/schemas/eip-712/actions/sweep-deposit-account.json","../../src/instructions/contracts/schemas/eip-712/actions/sweep-deposit-erc4626.json","../../src/instructions/contracts/schemas/eip-712/actions/sweep-erc20.json","../../src/instructions/contracts/schemas/eip-712/actions/sweep-skip-cctp-deposit-account.json","../../src/instructions/contracts/schemas/eip-712/actions/sweep-uniswap-v3.json","../../src/instructions/contracts/schemas/eip-712/actions/sweep-withdraw-erc4626.json","../../src/instructions/contracts/schemas/eip-712/actions/sweep.json","../../src/instructions/contracts/schemas/eip-712/actions/transfer-erc20.json","../../src/instructions/contracts/schemas/eip-712/actions/transfer.json","../../src/instructions/contracts/schemas/eip-712/actions/uniswap-v3-exact-input.json","../../src/instructions/contracts/schemas/eip-712/actions/withdraw-erc4626.json","../../src/instructions/types.ts","../../src/instructions/activate.ts"],"sourcesContent":["/**\n * Default interval used when none is provided (in seconds).\n */\nexport const DEFAULT_INTERVAL_SECONDS = 12;\n\n/**\n * Default API timeout for instruction operations (in milliseconds).\n */\nexport const INSTRUCTION_DEFAULT_TIMEOUT = 30000;\n","import type { InstructionBuildRequest } from \"@otim/utils/api\";\nimport type { Address } from \"@otim/utils/schemas\";\n\nimport { parseUnits, toHex } from \"viem\";\n\nimport {\n coerceSecondsFromTimeUnitValue,\n parseDateTime,\n} from \"@otim/utils/helpers\";\nimport { InstructionAction } from \"@otim/utils/schemas\";\n\nimport { DEFAULT_INTERVAL_SECONDS } from \"./constants\";\n\n/**\n * Converts a PascalCase string to camelCase.\n * Example: \"TransferERC20\" -> \"transferERC20\"\n */\nfunction toCamelCase(str: string): string {\n return str.charAt(0).toLowerCase() + str.slice(1);\n}\n\n// Export base types for instruction build payloads\nexport type {\n BaseInstructionBuildPayload,\n GasLimitConfigurablePayload,\n ScheduledInstructionBuildPayload,\n TokenInstructionPayload,\n} from \"./types\";\n\n/**\n * Instruction build utilities\n *\n * Sections:\n * - Types & constants\n * - Schedule helpers\n * - Gas/Fee helpers\n * - Action-specific resolvers\n * - Build payload creator\n */\n\n// Types & constants\n/**\n * Parameters required to assemble a build payload for an instruction action.\n */\nexport interface CreateBuildPayloadParams {\n action: InstructionAction;\n address: Address;\n chainId: number;\n maxExecutions: number;\n salt?: number;\n actionArguments: InstructionBuildRequest[\"actionArguments\"][string];\n}\n\n/**\n * Build payload creator\n *\n * Creates the request body to build an instruction on the backend.\n */\nexport function createBuildPayload({\n action,\n address,\n chainId,\n maxExecutions,\n salt,\n actionArguments,\n}: CreateBuildPayloadParams): InstructionBuildRequest {\n return {\n address,\n chainId,\n maxExecutions,\n salt: salt ?? Math.floor(Math.random() * Number.MAX_SAFE_INTEGER),\n actionArguments: {\n [toCamelCase(action)]: actionArguments,\n },\n };\n}\n\n/**\n * Start specification for instruction scheduling.\n * Determines when the instruction should begin execution.\n */\nexport type ScheduleStart =\n | { type: \"datetime\"; startDate: string; startTime: string }\n | { type: \"now\" };\n\n/**\n * Repeat policy for instruction scheduling.\n * Controls how many times an instruction can execute.\n */\nexport type ScheduleRepeat =\n | { type: \"max-executions\"; maxExecutions: number }\n | { type: \"until-deactivated\" };\n\n/**\n * Advanced tuning options affecting schedule and fee behavior.\n * Provides fine-grained control over instruction execution parameters.\n */\nexport interface BuildAdvancedOptions {\n /* Maximum latency allowed for scheduled execution intervals */\n intervalLatencyLimit?: unknown;\n /* Lookback period for mean price calculation in swap operations */\n meanPriceLookBack?: unknown;\n /* Maximum allowed price deviation in basis points for swaps */\n maxPriceDeviationBps?: string | number;\n /* Maximum base fee per gas in Gwei for EIP-1559 transactions */\n maxBaseFeePerGas?: number | string;\n /* Maximum priority fee per gas in Gwei for EIP-1559 transactions */\n maxPriorityFeePerGas?: number | string;\n}\n\n/**\n * Resolves schedule start values.\n * - \"datetime\": schedules with explicit startAt timestamp (in seconds)\n * - \"now\" or omitted: starts immediately\n */\nexport const createScheduleStart = (values?: ScheduleStart) => {\n if (values && values.type === \"datetime\") {\n const date = parseDateTime(values.startDate, values.startTime);\n if (!date) throw new Error(\"Invalid start date or time\");\n return { startAt: Math.floor(date.getTime() / 1000), startBy: 0 };\n }\n return { startAt: 0, startBy: 0 };\n};\n\n/* Converts a time unit value to seconds and returns the interval field. */\nexport const createScheduleInterval = (values?: unknown) => {\n if (!values) return { interval: DEFAULT_INTERVAL_SECONDS };\n const seconds = coerceSecondsFromTimeUnitValue(values);\n return { interval: seconds || DEFAULT_INTERVAL_SECONDS };\n};\n\n/**\n * Converts a time unit value to seconds and returns the timeout field.\n * Timeout represents the maximum latency allowed for scheduled execution (0 = no limit).\n */\nexport const createScheduleIntervalLatencyLimit = (values?: unknown) => {\n if (!values) return { timeout: 0 };\n const seconds = coerceSecondsFromTimeUnitValue(values);\n return { timeout: seconds };\n};\n\n/**\n * Resolves maxExecutions based on repeat policy.\n * Returns 0 for unlimited executions when type is \"until-deactivated\".\n */\nexport const createScheduleRepeat = (values: ScheduleRepeat) => {\n if (values.type === \"max-executions\") {\n return { maxExecutions: values.maxExecutions };\n }\n return { maxExecutions: 0 };\n};\n\n/**\n * Assembles the schedule object when any schedule-related option is provided.\n */\nexport const resolveSchedule = (\n repeat: ScheduleRepeat,\n start?: ScheduleStart,\n interval?: unknown,\n advanced?: BuildAdvancedOptions,\n) => {\n const { maxExecutions } = createScheduleRepeat(repeat);\n if (!start && !interval && !advanced?.intervalLatencyLimit) {\n return { maxExecutions } as\n | { maxExecutions: number }\n | { maxExecutions: number; schedule: unknown };\n }\n\n const { startAt, startBy } = createScheduleStart(start);\n const { interval: intervalSeconds } = createScheduleInterval(interval);\n const { timeout } = createScheduleIntervalLatencyLimit(\n advanced?.intervalLatencyLimit,\n );\n\n return {\n maxExecutions,\n schedule: { interval: intervalSeconds, startBy, startAt, timeout },\n };\n};\n\n/**\n * Converts a Gwei value into Wei as a hex string. Returns 0x0 on invalid input.\n */\nexport const convertGweiToWei = (gweiValue: number | string): `0x${string}` => {\n try {\n if (isNaN(Number(gweiValue)) || Number(gweiValue) < 0) {\n throw new Error(`Invalid Gwei value: ${gweiValue}`);\n }\n const gweiString = Number(gweiValue).toFixed(18);\n return toHex(parseUnits(gweiString, 9));\n } catch {\n return toHex(0n);\n }\n};\n\n/**\n * Fee input required to resolve base fee configuration.\n * Specifies the token and amount for instruction execution fees.\n */\nexport interface BuildFeeInput {\n /* Address of the token used to pay execution fees */\n token: Address;\n /* Amount of fee to pay (optional, defaults to 0) */\n executionFee?: number | string;\n}\n\n/**\n * Builds the fee object including EIP-1559 caps and optional pricing controls.\n */\nexport const resolveFee = (\n fee: BuildFeeInput,\n advanced?: BuildAdvancedOptions,\n) => {\n const baseFee = {\n fee: {\n executionFee: 0,\n token: fee.token,\n maxBaseFeePerGas: convertGweiToWei(advanced?.maxBaseFeePerGas ?? 0),\n maxPriorityFeePerGas: convertGweiToWei(\n advanced?.maxPriorityFeePerGas ?? 0,\n ),\n },\n } as Record<string, unknown>;\n\n const additionalFields: Record<string, unknown> = {};\n if (advanced?.meanPriceLookBack) {\n additionalFields.meanPriceLookBack = coerceSecondsFromTimeUnitValue(\n advanced.meanPriceLookBack,\n );\n }\n if (advanced?.maxPriceDeviationBps) {\n const bpsValue = parseInt(String(advanced.maxPriceDeviationBps), 10);\n if (!isNaN(bpsValue)) {\n additionalFields.maxPriceDeviationBps = bpsValue;\n }\n }\n\n return { ...baseFee, ...additionalFields } as Record<string, unknown>;\n};\n\n/**\n * Some actions allow an explicit gas limit. Returns { gasLimit: 0 } when\n * needed, otherwise an empty object to keep payload minimal.\n */\nexport const resolveGasLimitIfNeeded = (action: InstructionAction) => {\n const actionsWithGasLimit: InstructionAction[] = [\n InstructionAction.Refuel,\n InstructionAction.Transfer,\n ];\n return actionsWithGasLimit.includes(action) ? { gasLimit: 0 } : {};\n};\n\n/**\n * Adds recipient field for Uniswap V3 exact input action when required.\n */\nexport const resolveRecipientForUniswapV3ExactInputIfNeeded = (\n action: InstructionAction,\n recipientAddress: Address,\n) => {\n return action === InstructionAction.UniswapV3ExactInput\n ? { recipient: recipientAddress }\n : {};\n};\n","import type {\n GasLimitConfigurablePayload,\n ScheduledInstructionBuildPayload,\n TokenInstructionPayload,\n} from \"../../types\";\nimport type { ActionArguments, InstructionBuildRequest } from \"@otim/utils/api\";\nimport type { Address } from \"@otim/utils/schemas\";\n\nimport { InstructionAction } from \"@otim/utils/schemas\";\n\nimport { createBuildPayload } from \"../../build\";\n\n/**\n * Payload for building a refuel instruction.\n * Automatically refuels a target address when balance drops below threshold.\n * Supports both native currency and ERC20 token refueling.\n */\nexport interface RefuelBuildPayload\n extends\n ScheduledInstructionBuildPayload,\n TokenInstructionPayload,\n GasLimitConfigurablePayload {\n // Target address to monitor and refuel\n target: Address;\n // Balance threshold (as hex string) that triggers refueling\n threshold: string;\n // Target balance (as hex string) to refuel to\n endBalance: string;\n}\n\nexport function createRefuelBuildPayload(\n payload: RefuelBuildPayload,\n): InstructionBuildRequest {\n const { address, chainId, maxExecutions, salt } = payload;\n\n const action = payload.token\n ? InstructionAction.RefuelERC20\n : InstructionAction.Refuel;\n\n const actionArguments: Record<string, unknown> = {\n target: payload.target,\n threshold: payload.threshold,\n endBalance: payload.endBalance,\n fee: payload.fee,\n schedule: payload.schedule,\n };\n\n if (payload.token) {\n actionArguments.token = payload.token;\n }\n\n if (payload.gasLimit !== undefined) {\n actionArguments.gasLimit = payload.gasLimit;\n }\n\n return createBuildPayload({\n action,\n actionArguments: actionArguments as ActionArguments,\n address,\n chainId,\n maxExecutions,\n salt,\n });\n}\n","import type { ScheduledInstructionBuildPayload } from \"../../types\";\nimport type { ActionArguments, InstructionBuildRequest } from \"@otim/utils/api\";\nimport type { Address } from \"@otim/utils/schemas\";\n\nimport { InstructionAction } from \"@otim/utils/schemas\";\n\nimport { createBuildPayload } from \"../../build\";\n\n/**\n * Payload for building a Uniswap V3 exact input swap instruction.\n * Swaps a specific input amount for a minimum output amount using Uniswap V3.\n */\nexport interface UniswapV3ExactInputBuildPayload extends ScheduledInstructionBuildPayload {\n // Input token address\n tokenIn: Address;\n // Output token address\n tokenOut: Address;\n // Fee tier for the Uniswap V3 pool (e.g., \"500\" for 0.05%, \"3000\" for 0.3%)\n feeTier: string;\n // Amount of input token to swap (as hex string)\n amountIn: string;\n // Minimum amount of output token to receive (as hex string)\n floorAmountOut: string;\n // Recipient address for the output tokens\n recipient: Address;\n // Lookback period (seconds) for mean price calculation\n meanPriceLookBack?: number;\n // Maximum price deviation in basis points (BPS)\n maxPriceDeviationBps?: number;\n}\n\nexport function createUniswapV3ExactInputBuildPayload(\n payload: UniswapV3ExactInputBuildPayload,\n): InstructionBuildRequest {\n const { address, chainId, maxExecutions, salt } = payload;\n\n const action = InstructionAction.UniswapV3ExactInput;\n\n const actionArguments: Record<string, unknown> = {\n recipient: payload.recipient,\n tokenIn: payload.tokenIn,\n tokenOut: payload.tokenOut,\n feeTier: payload.feeTier,\n amountIn: payload.amountIn,\n floorAmountOut: payload.floorAmountOut,\n meanPriceLookBack: payload.meanPriceLookBack ?? 500,\n maxPriceDeviationBps: payload.maxPriceDeviationBps ?? 500,\n schedule: payload.schedule,\n fee: payload.fee,\n };\n\n return createBuildPayload({\n action,\n actionArguments: actionArguments as ActionArguments,\n address,\n chainId,\n maxExecutions,\n salt,\n });\n}\n","import type {\n GasLimitConfigurablePayload,\n ScheduledInstructionBuildPayload,\n TokenInstructionPayload,\n} from \"../../types\";\nimport type { ActionArguments, InstructionBuildRequest } from \"@otim/utils/api\";\nimport type { Address } from \"@otim/utils/schemas\";\n\nimport { InstructionAction } from \"@otim/utils/schemas\";\n\nimport { createBuildPayload } from \"../../build\";\n\n/**\n * Payload for building a transfer instruction.\n * Supports both native currency and ERC20 token transfers.\n */\nexport interface TransferBuildPayload\n extends\n ScheduledInstructionBuildPayload,\n TokenInstructionPayload,\n GasLimitConfigurablePayload {\n // Target address to receive the transfer\n target: Address;\n // Amount to transfer (as hex string)\n value: string;\n}\n\nexport function createTransferBuildPayload(\n payload: TransferBuildPayload,\n): InstructionBuildRequest {\n const { address, chainId, maxExecutions, salt } = payload;\n\n const action = payload.token\n ? InstructionAction.TransferERC20\n : InstructionAction.Transfer;\n\n const actionArguments: Record<string, unknown> = {\n target: payload.target,\n value: payload.value,\n fee: payload.fee,\n schedule: payload.schedule,\n };\n\n if (payload.token) {\n actionArguments.token = payload.token;\n }\n\n if (payload.gasLimit !== undefined) {\n actionArguments.gasLimit = payload.gasLimit;\n }\n\n return createBuildPayload({\n action,\n actionArguments: actionArguments as ActionArguments,\n address,\n chainId,\n maxExecutions,\n salt,\n });\n}\n","import type {\n BaseInstructionBuildPayload,\n ScheduledInstructionBuildPayload,\n} from \"../../types\";\nimport type { ActionArguments, InstructionBuildRequest } from \"@otim/utils/api\";\nimport type { Address } from \"@otim/utils/schemas\";\n\nimport { InstructionAction } from \"@otim/utils/schemas\";\n\nimport { createBuildPayload } from \"../../build\";\n\n/**\n * Payload for building a deposit ERC4626 instruction.\n * Deposits assets into an ERC4626 vault on a schedule.\n */\nexport interface DepositERC4626BuildPayload\n extends ScheduledInstructionBuildPayload {\n // Vault address to deposit into\n vault: Address;\n // Recipient address for the vault shares\n recipient: Address;\n // Amount to deposit (as hex string)\n value: string;\n // Minimum deposit amount (as hex string)\n minDeposit: string;\n // Minimum total shares (as hex string)\n minTotalShares: string;\n}\n\nexport function createDepositERC4626BuildPayload(\n payload: DepositERC4626BuildPayload,\n): InstructionBuildRequest {\n const { address, chainId, maxExecutions, salt } = payload;\n\n const action = InstructionAction.DepositERC4626;\n\n const actionArguments: Record<string, unknown> = {\n vault: payload.vault,\n recipient: payload.recipient,\n value: payload.value,\n minDeposit: payload.minDeposit,\n minTotalShares: payload.minTotalShares,\n schedule: payload.schedule,\n fee: payload.fee,\n };\n\n return createBuildPayload({\n action,\n actionArguments: actionArguments as ActionArguments,\n address,\n chainId,\n maxExecutions,\n salt,\n });\n}\n\n/**\n * Payload for building a sweep deposit ERC4626 instruction.\n * Automatically sweeps and deposits funds into an ERC4626 vault when balance exceeds threshold.\n * Note: This action does NOT support scheduling.\n */\nexport interface SweepDepositERC4626BuildPayload\n extends BaseInstructionBuildPayload {\n // Vault address to deposit into\n vault: Address;\n // Recipient address for the vault shares\n recipient: Address;\n // Balance threshold (as hex string) that triggers sweeping\n threshold: string;\n // Target balance (as hex string) to sweep to\n endBalance: string;\n // Minimum deposit amount (as hex string)\n minDeposit: string;\n // Minimum total shares (as hex string)\n minTotalShares: string;\n}\n\nexport function createSweepDepositERC4626BuildPayload(\n payload: SweepDepositERC4626BuildPayload,\n): InstructionBuildRequest {\n const { address, chainId, maxExecutions, salt } = payload;\n\n const action = InstructionAction.SweepDepositERC4626;\n\n const actionArguments: Record<string, unknown> = {\n vault: payload.vault,\n recipient: payload.recipient,\n threshold: payload.threshold,\n endBalance: payload.endBalance,\n minDeposit: payload.minDeposit,\n minTotalShares: payload.minTotalShares,\n fee: payload.fee,\n };\n\n return createBuildPayload({\n action,\n actionArguments: actionArguments as ActionArguments,\n address,\n chainId,\n maxExecutions,\n salt,\n });\n}\n\n/**\n * Payload for building a withdraw ERC4626 instruction.\n * Withdraws assets from an ERC4626 vault on a schedule.\n */\nexport interface WithdrawERC4626BuildPayload\n extends ScheduledInstructionBuildPayload {\n // Vault address to withdraw from\n vault: Address;\n // Recipient address for the withdrawn assets\n recipient: Address;\n // Amount to withdraw (as hex string)\n value: string;\n // Minimum withdraw amount (as hex string)\n minWithdraw: string;\n}\n\nexport function createWithdrawERC4626BuildPayload(\n payload: WithdrawERC4626BuildPayload,\n): InstructionBuildRequest {\n const { address, chainId, maxExecutions, salt } = payload;\n\n const action = InstructionAction.WithdrawERC4626;\n\n const actionArguments: Record<string, unknown> = {\n vault: payload.vault,\n recipient: payload.recipient,\n value: payload.value,\n minWithdraw: payload.minWithdraw,\n schedule: payload.schedule,\n fee: payload.fee,\n };\n\n return createBuildPayload({\n action,\n actionArguments: actionArguments as ActionArguments,\n address,\n chainId,\n maxExecutions,\n salt,\n });\n}\n\n/**\n * Payload for building a sweep withdraw ERC4626 instruction.\n * Automatically sweeps and withdraws funds from an ERC4626 vault when share balance exceeds threshold.\n * Note: This action does NOT support scheduling.\n */\nexport interface SweepWithdrawERC4626BuildPayload\n extends BaseInstructionBuildPayload {\n // Vault address to withdraw from\n vault: Address;\n // Recipient address for the withdrawn assets\n recipient: Address;\n // Share threshold (as hex string) that triggers sweeping\n threshold: string;\n // Target balance (as hex string) to sweep to\n endBalance: string;\n // Minimum withdraw amount (as hex string)\n minWithdraw: string;\n}\n\nexport function createSweepWithdrawERC4626BuildPayload(\n payload: SweepWithdrawERC4626BuildPayload,\n): InstructionBuildRequest {\n const { address, chainId, maxExecutions, salt } = payload;\n\n const action = InstructionAction.SweepWithdrawERC4626;\n\n const actionArguments: Record<string, unknown> = {\n vault: payload.vault,\n recipient: payload.recipient,\n threshold: payload.threshold,\n endBalance: payload.endBalance,\n minWithdraw: payload.minWithdraw,\n fee: payload.fee,\n };\n\n return createBuildPayload({\n action,\n actionArguments: actionArguments as ActionArguments,\n address,\n chainId,\n maxExecutions,\n salt,\n });\n}\n\n","// abi parameter definitions for otim build instruction action arguments\n// @see https://abitype.dev for more information about abi typing\n\nimport type { AbiParameter } from \"abitype\";\n\nimport { InstructionAction } from \"@otim/utils/schemas\";\n\nconst targetField = {\n name: \"target\",\n type: \"address\",\n} as const satisfies AbiParameter;\n\nconst scheduleField = {\n name: \"schedule\",\n type: \"tuple\",\n components: [\n { name: \"startAt\", type: \"uint256\" },\n { name: \"startBy\", type: \"uint256\" },\n { name: \"interval\", type: \"uint256\" },\n { name: \"timeout\", type: \"uint256\" },\n ],\n} as const satisfies AbiParameter;\n\nconst tokenField = {\n name: \"token\",\n type: \"address\",\n} as const satisfies AbiParameter;\n\nconst feeField = {\n name: \"fee\",\n type: \"tuple\",\n components: [\n { name: \"token\", type: \"address\" },\n { name: \"maxBaseFeePerGas\", type: \"uint256\" },\n { name: \"maxPriorityFeePerGas\", type: \"uint256\" },\n { name: \"executionFee\", type: \"uint256\" },\n ],\n} as const satisfies AbiParameter;\n\n// instruction abi parameter definitions\n// each export represents the abi parameters for a specific instruction action\n\nexport const refuelArgumentsAbi = [\n targetField,\n { name: \"threshold\", type: \"uint256\" },\n { name: \"endBalance\", type: \"uint256\" },\n { name: \"gasLimit\", type: \"uint256\" },\n feeField,\n] as const satisfies readonly AbiParameter[];\n\nexport const refuelERC20ArgumentsAbi = [\n tokenField,\n targetField,\n { name: \"threshold\", type: \"uint256\" },\n { name: \"endBalance\", type: \"uint256\" },\n feeField,\n] as const satisfies readonly AbiParameter[];\n\nexport const transferArgumentsAbi = [\n targetField,\n { name: \"value\", type: \"uint256\" },\n { name: \"gasLimit\", type: \"uint256\" },\n scheduleField,\n feeField,\n] as const satisfies readonly AbiParameter[];\n\nexport const transferERC20ArgumentsAbi = [\n tokenField,\n targetField,\n { name: \"value\", type: \"uint256\" },\n scheduleField,\n feeField,\n] as const satisfies readonly AbiParameter[];\n\nexport const uniswapV3ExactInputArgumentsAbi = [\n { name: \"recipient\", type: \"address\" },\n { name: \"tokenIn\", type: \"address\" },\n { name: \"tokenOut\", type: \"address\" },\n { name: \"feeTier\", type: \"uint24\" },\n { name: \"amountIn\", type: \"uint256\" },\n { name: \"floorAmountOut\", type: \"uint256\" },\n { name: \"meanPriceLookBack\", type: \"uint32\" },\n { name: \"maxPriceDeviationBPS\", type: \"uint32\" },\n scheduleField,\n feeField,\n] as const satisfies readonly AbiParameter[];\n\nexport const sweepSkipCCTPDepositAccountArgumentsAbi = [\n { name: \"depositor\", type: \"address\" },\n { name: \"destinationDomain\", type: \"uint32\" },\n { name: \"destinationMintRecipient\", type: \"bytes32\" },\n { name: \"threshold\", type: \"uint256\" },\n feeField,\n] as const satisfies readonly AbiParameter[];\n\nexport const deactivateInstructionArgumentsAbi = [\n { name: \"instructionId\", type: \"bytes32\" },\n feeField,\n] as const satisfies readonly AbiParameter[];\n\nexport const depositERC4626ArgumentsAbi = [\n { name: \"vault\", type: \"address\" },\n { name: \"recipient\", type: \"address\" },\n { name: \"value\", type: \"uint256\" },\n { name: \"minDeposit\", type: \"uint256\" },\n { name: \"minTotalShares\", type: \"uint256\" },\n scheduleField,\n feeField,\n] as const satisfies readonly AbiParameter[];\n\nexport const sweepDepositERC4626ArgumentsAbi = [\n { name: \"vault\", type: \"address\" },\n { name: \"recipient\", type: \"address\" },\n { name: \"threshold\", type: \"uint256\" },\n { name: \"endBalance\", type: \"uint256\" },\n { name: \"minDeposit\", type: \"uint256\" },\n { name: \"minTotalShares\", type: \"uint256\" },\n feeField,\n] as const satisfies readonly AbiParameter[];\n\nexport const withdrawERC4626ArgumentsAbi = [\n { name: \"vault\", type: \"address\" },\n { name: \"recipient\", type: \"address\" },\n { name: \"value\", type: \"uint256\" },\n { name: \"minWithdraw\", type: \"uint256\" },\n scheduleField,\n feeField,\n] as const satisfies readonly AbiParameter[];\n\nexport const sweepWithdrawERC4626ArgumentsAbi = [\n { name: \"vault\", type: \"address\" },\n { name: \"recipient\", type: \"address\" },\n { name: \"threshold\", type: \"uint256\" },\n { name: \"endBalance\", type: \"uint256\" },\n { name: \"minWithdraw\", type: \"uint256\" },\n feeField,\n] as const satisfies readonly AbiParameter[];\n\nexport const sweepDepositAccountArgumentsAbi = [\n { name: \"depositor\", type: \"address\" },\n { name: \"recipient\", type: \"address\" },\n { name: \"threshold\", type: \"uint256\" },\n feeField,\n] as const satisfies readonly AbiParameter[];\n\nexport const sweepDepositAccountERC20ArgumentsAbi = [\n tokenField,\n { name: \"depositor\", type: \"address\" },\n { name: \"recipient\", type: \"address\" },\n { name: \"threshold\", type: \"uint256\" },\n feeField,\n] as const satisfies readonly AbiParameter[];\n\n/* Map of instruction action to its ABI parameters */\n// Map of instruction action to its ABI parameters\nexport const buildInstructionActionArgumentsAbiMap = {\n [InstructionAction.Refuel]: refuelArgumentsAbi,\n [InstructionAction.RefuelERC20]: refuelERC20ArgumentsAbi,\n [InstructionAction.Transfer]: transferArgumentsAbi,\n [InstructionAction.TransferERC20]: transferERC20ArgumentsAbi,\n [InstructionAction.UniswapV3ExactInput]: uniswapV3ExactInputArgumentsAbi,\n [InstructionAction.SweepSkipCCTPDepositAccount]:\n sweepSkipCCTPDepositAccountArgumentsAbi,\n [InstructionAction.DeactivateInstruction]: deactivateInstructionArgumentsAbi,\n [InstructionAction.DepositERC4626]: depositERC4626ArgumentsAbi,\n [InstructionAction.SweepDepositERC4626]: sweepDepositERC4626ArgumentsAbi,\n [InstructionAction.WithdrawERC4626]: withdrawERC4626ArgumentsAbi,\n [InstructionAction.SweepWithdrawERC4626]: sweepWithdrawERC4626ArgumentsAbi,\n [InstructionAction.SweepDepositAccount]: sweepDepositAccountArgumentsAbi,\n [InstructionAction.SweepDepositAccountERC20]:\n sweepDepositAccountERC20ArgumentsAbi,\n} as const;\n","","","","","","","","","","","","","","","","","","import type { Address } from \"@otim/utils/schemas\";\n\nimport { InstructionAction } from \"@otim/utils/schemas\";\n\nimport deactivateInstructionTypes from \"./contracts/schemas/eip-712/actions/deactivate-instruction.json\";\nimport depositERC4626Types from \"./contracts/schemas/eip-712/actions/deposit-erc4626.json\";\nimport refuelERC20Types from \"./contracts/schemas/eip-712/actions/refuel-erc20.json\";\nimport refuelTypes from \"./contracts/schemas/eip-712/actions/refuel.json\";\nimport sweepCCTPTypes from \"./contracts/schemas/eip-712/actions/sweep-cctp.json\";\nimport sweepDepositAccountERC20Types from \"./contracts/schemas/eip-712/actions/sweep-deposit-account-erc20.json\";\nimport sweepDepositAccountTypes from \"./contracts/schemas/eip-712/actions/sweep-deposit-account.json\";\nimport sweepDepositERC4626Types from \"./contracts/schemas/eip-712/actions/sweep-deposit-erc4626.json\";\nimport sweepERC20Types from \"./contracts/schemas/eip-712/actions/sweep-erc20.json\";\nimport sweepSkipCCTPDepositAccountTypes from \"./contracts/schemas/eip-712/actions/sweep-skip-cctp-deposit-account.json\";\nimport sweepUniswapV3Types from \"./contracts/schemas/eip-712/actions/sweep-uniswap-v3.json\";\nimport sweepWithdrawERC4626Types from \"./contracts/schemas/eip-712/actions/sweep-withdraw-erc4626.json\";\nimport sweepTypes from \"./contracts/schemas/eip-712/actions/sweep.json\";\nimport transferERC20Types from \"./contracts/schemas/eip-712/actions/transfer-erc20.json\";\nimport transferTypes from \"./contracts/schemas/eip-712/actions/transfer.json\";\nimport uniswapV3ExactInputTypes from \"./contracts/schemas/eip-712/actions/uniswap-v3-exact-input.json\";\nimport withdrawERC4626Types from \"./contracts/schemas/eip-712/actions/withdraw-erc4626.json\";\n\n/* EIP-712 types structure for instruction signatures. */\nexport interface EIP712Types {\n types: {\n [key: string]: Array<{ name: string; type: string }>;\n Instruction: Array<{ name: string; type: string }>;\n };\n}\n\n/**\n * Map of instruction actions to their EIP-712 type definitions.\n * Used for creating typed data structures for instruction signatures.\n */\nexport const eip712TypesMap = {\n [InstructionAction.Refuel]: refuelTypes,\n [InstructionAction.RefuelERC20]: refuelERC20Types,\n [InstructionAction.Transfer]: transferTypes,\n [InstructionAction.TransferERC20]: transferERC20Types,\n [InstructionAction.UniswapV3ExactInput]: uniswapV3ExactInputTypes,\n [InstructionAction.Sweep]: sweepTypes,\n [InstructionAction.SweepERC20]: sweepERC20Types,\n [InstructionAction.SweepCCTP]: sweepCCTPTypes,\n [InstructionAction.SweepUniswapV3]: sweepUniswapV3Types,\n [InstructionAction.SweepSkipCCTPDepositAccount]: sweepSkipCCTPDepositAccountTypes,\n [InstructionAction.DeactivateInstruction]: deactivateInstructionTypes,\n [InstructionAction.DepositERC4626]: depositERC4626Types,\n [InstructionAction.SweepDepositERC4626]: sweepDepositERC4626Types,\n [InstructionAction.WithdrawERC4626]: withdrawERC4626Types,\n [InstructionAction.SweepWithdrawERC4626]: sweepWithdrawERC4626Types,\n [InstructionAction.SweepDepositAccount]: sweepDepositAccountTypes,\n [InstructionAction.SweepDepositAccountERC20]: sweepDepositAccountERC20Types,\n} as const satisfies Partial<Record<string, EIP712Types>>;\n\n/**\n * Base instruction build payload containing fields common to all instructions.\n */\nexport interface BaseInstructionBuildPayload {\n // Account address that will execute the instruction\n address: Address;\n // Chain ID where the instruction will be executed\n chainId: number;\n // Maximum number of times the instruction can be executed (0 = unlimited)\n maxExecutions: number;\n // Optional salt for uniqueness\n salt?: number;\n // Fee configuration for instruction execution\n fee: {\n executionFee: string;\n maxBaseFeePerGas: string;\n maxPriorityFeePerGas: string;\n token: Address;\n };\n}\n\n/**\n * Extended base payload for instructions that support scheduling.\n * Includes all base fields plus schedule configuration.\n */\nexport interface ScheduledInstructionBuildPayload extends BaseInstructionBuildPayload {\n // Schedule configuration for when and how often the instruction runs\n schedule: {\n // Unix timestamp (seconds) when instruction should start (0 = immediate)\n startAt: number;\n // Unix timestamp (seconds) by which instruction must start (0 = no deadline)\n startBy: number;\n // Interval (seconds) between executions\n interval: number;\n // Maximum latency (seconds) allowed for scheduled execution (0 = no limit)\n timeout: number;\n };\n}\n\n/**\n * Extended payload for instructions that support an optional token parameter.\n * This is typically used for ERC20 variants of actions.\n */\nexport interface TokenInstructionPayload {\n // Optional token address (if not provided, uses native currency)\n token?: Address;\n}\n\n/**\n * Extended payload for instructions that support gas limit configuration.\n * Used by actions like transfer and refuel.\n */\nexport interface GasLimitConfigurablePayload {\n // Optional gas limit for the action (0 or undefined = auto)\n gasLimit?: number;\n}\n","import type { InstructionActivateRequest } from \"@otim/utils/api\";\nimport type { Address, HexString } from \"@otim/utils/schemas\";\nimport type { TypedDataDomain } from \"viem\";\n\nimport { decodeAbiParameters, keccak256, pad, toHex } from \"viem\";\n\nimport {\n createEIP2098Signature,\n parseSignatureToVRS,\n} from \"@otim/utils/helpers\";\n\nimport { buildInstructionActionArgumentsAbiMap } from \"./contracts/artifacts/abi/build-instruction-action-arguments-abi\";\nimport { eip712TypesMap } from \"./types\";\n\n/**\n * Converts a PascalCase string to camelCase.\n * Example: \"TransferERC20\" -> \"transferERC20\"\n */\nexport function toCamelCase(str: string): string {\n return str.charAt(0).toLowerCase() + str.slice(1);\n}\n\n/**\n * Converts a camelCase string to PascalCase.\n * Example: \"transferERC20\" -> \"TransferERC20\"\n */\nfunction toPascalCase(str: string): string {\n return str.charAt(0).toUpperCase() + str.slice(1);\n}\n\n/**\n * PascalCase instruction actions that have EIP-712 type definitions.\n */\ntype EIP712SupportedAction = keyof typeof eip712TypesMap;\n\n/**\n * CamelCase version of InstructionAction for EIP-712 typed data.\n * Only includes actions that have EIP-712 type definitions.\n */\nexport type InstructionActionCamelCase =\n | \"refuel\"\n | \"refuelERC20\"\n | \"transfer\"\n | \"transferERC20\"\n | \"uniswapV3ExactInput\"\n | \"sweep\"\n | \"sweepERC20\"\n | \"sweepCCTP\"\n | \"sweepUniswapV3\"\n | \"deactivateInstruction\"\n | \"sweepSkipCCTPDepositAccount\"\n | \"depositERC4626\"\n | \"sweepDepositERC4626\"\n | \"withdrawERC4626\"\n | \"sweepWithdrawERC4626\"\n | \"sweepDepositAccount\"\n | \"sweepDepositAccountERC20\";\n\n/**\n * EIP-712 typed data for instruction activation signatures.\n */\nexport interface InstructionEIP712TypedData {\n domain: TypedDataDomain;\n primaryType: \"Instruction\";\n types: Record<string, Array<{ name: string; type: string }>>;\n message: {\n [key: string]: unknown; // Action-specific decoded arguments\n salt: bigint;\n maxExecutions: bigint;\n action: HexString;\n };\n}\n\n/**\n * Payload for activating an instruction with all required parameters.\n */\nexport interface InstructionActivatePayload {\n nickname?: string;\n address: Address;\n chainId: number;\n salt: HexString;\n maxExecutions: HexString;\n action: HexString;\n actionName: InstructionActionCamelCase;\n arguments: HexString;\n signature: string;\n}\n\n/**\n * Configuration for creating instruction signatures.\n */\nexport interface InstructionSignatureConfig {\n delegateAddress: Address;\n chainId: number;\n}\n\n/**\n * Creates the EIP-712 domain for instruction signatures.\n * Defines the domain separator used in typed data signing.\n *\n * @param config - Configuration containing delegate address and chain ID\n * @returns TypedDataDomain object for EIP-712 signing\n */\nexport function createInstructionDomain(\n config: InstructionSignatureConfig,\n): TypedDataDomain {\n return {\n chainId: config.chainId,\n name: \"OtimDelegate\",\n salt: keccak256(toHex(\"ON_TIME_INSTRUCTED_MONEY\")),\n verifyingContract: config.delegateAddress,\n version: \"1\",\n };\n}\n\n/**\n * Decodes hex-encoded instruction parameters for EIP-712 signatures.\n * Uses action-specific ABI definitions to properly decode arguments.\n *\n * @param salt - Hex-encoded salt value for instruction uniqueness\n * @param maxExecutions - Hex-encoded maximum execution count\n * @param argumentsHex - Hex-encoded action-specific arguments\n * @param actionName - Name of the instruction action (camelCase)\n * @returns Decoded parameters as TypeScript primitives\n * @throws Error if action has no EIP-712 types or ABI definition\n */\nexport function decodeInstructionParameters(\n salt: HexString,\n maxExecutions: HexString,\n argumentsHex: HexString,\n actionName: InstructionActionCamelCase,\n): {\n decodedSalt: bigint;\n decodedMaxExecutions: bigint;\n decodedArguments: Record<string, unknown>;\n} {\n const pascalCaseActionName = toPascalCase(actionName) as EIP712SupportedAction;\n const eip712Types = eip712TypesMap[pascalCaseActionName];\n const argumentsAbi =\n buildInstructionActionArgumentsAbiMap[\n pascalCaseActionName as keyof typeof buildInstructionActionArgumentsAbiMap\n ];\n\n if (!eip712Types) {\n throw new Error(`No EIP-712 types found for action: ${actionName}`);\n }\n\n if (!argumentsAbi) {\n throw new Error(`No arguments ABI found for action: ${actionName}`);\n }\n\n const [decodedSalt] = decodeAbiParameters(\n [eip712Types.types.Instruction[0]!],\n pad(salt),\n );\n\n const [decodedMaxExecutions] = decodeAbiParameters(\n [eip712Types.types.Instruction[1]!],\n pad(maxExecutions),\n );\n\n const decodedArgsArray = decodeAbiParameters(argumentsAbi, argumentsHex);\n\n const decodedArguments: Record<string, unknown> = {};\n argumentsAbi.forEach((param: { name: string }, index: number) => {\n decodedArguments[param.name] = decodedArgsArray[index];\n });\n\n return {\n decodedSalt: decodedSalt as bigint,\n decodedMaxExecutions: decodedMaxExecutions as bigint,\n decodedArguments,\n };\n}\n\n/**\n * Creates EIP-712 typed data for instruction activation.\n * Automatically handles ABI decoding based on action type.\n *\n * @param payload - Instruction activation payload (without signature)\n * @param config - Signature configuration for domain creation\n * @returns Complete EIP-712 typed data structure ready for signing\n * @throws Error if action has no EIP-712 type definitions\n */\nexport function createInstructionTypedData(\n payload: Omit<InstructionActivatePayload, \"signature\" | \"nickname\">,\n config: InstructionSignatureConfig,\n): InstructionEIP712TypedData {\n const { decodedSalt, decodedMaxExecutions, decodedArguments } =\n decodeInstructionParameters(\n payload.salt,\n payload.maxExecutions,\n payload.arguments,\n payload.actionName,\n );\n\n const pascalCaseActionName = toPascalCase(payload.actionName) as EIP712SupportedAction;\n const eip712Types = eip712TypesMap[pascalCaseActionName];\n\n if (!eip712Types) {\n throw new Error(`No EIP-712 types found for action: ${payload.actionName}`);\n }\n\n const domain = createInstructionDomain(config);\n\n return {\n domain,\n primaryType: \"Instruction\",\n types: eip712Types.types,\n message: {\n [payload.actionName]: decodedArguments,\n salt: decodedSalt,\n maxExecutions: decodedMaxExecutions,\n action: payload.action,\n },\n };\n}\n\n/**\n * Creates an activation payload with EIP-2098 signature format.\n * Converts a standard signature to the compact EIP-2098 format used by the protocol.\n *\n * @param payload - The instruction activation payload including signature\n * @returns Formatted activation request ready for API submission\n */\nexport function createActivationPayload(\n payload: InstructionActivatePayload,\n): InstructionActivateRequest {\n const vrs = parseSignatureToVRS(payload.signature);\n const primitiveSignature = createEIP2098Signature(vrs);\n\n return {\n nickname: payload.nickname,\n address: payload.address,\n chainId: payload.chainId,\n salt: payload.salt,\n maxExecutions: payload.maxExecutions,\n action: payload.action,\n arguments: payload.arguments,\n activationSignature: primitiveSignature,\n };\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["toCamelCase","InstructionAction","InstructionAction","InstructionAction","InstructionAction","InstructionAction","InstructionAction","InstructionAction","refuelTypes","refuelERC20Types","transferTypes","transferERC20Types","uniswapV3ExactInputTypes","sweepTypes","sweepERC20Types","sweepCCTPTypes","sweepUniswapV3Types","sweepSkipCCTPDepositAccountTypes","deactivateInstructionTypes","depositERC4626Types","sweepDepositERC4626Types","withdrawERC4626Types","sweepWithdrawERC4626Types","sweepDepositAccountTypes","sweepDepositAccountERC20Types"],"sources":["../../src/instructions/constants.ts","../../src/instructions/build.ts","../../src/instructions/actions/refuel/index.ts","../../src/instructions/actions/swap/index.ts","../../src/instructions/actions/transfer/index.ts","../../src/instructions/actions/vault/index.ts","../../src/instructions/contracts/artifacts/abi/build-instruction-action-arguments-abi.ts","../../src/instructions/contracts/schemas/eip-712/actions/deactivate-instruction.json","../../src/instructions/contracts/schemas/eip-712/actions/deposit-erc4626.json","../../src/instructions/contracts/schemas/eip-712/actions/refuel-erc20.json","../../src/instructions/contracts/schemas/eip-712/actions/refuel.json","../../src/instructions/contracts/schemas/eip-712/actions/sweep-cctp.json","../../src/instructions/contracts/schemas/eip-712/actions/sweep-deposit-account-erc20.json","../../src/instructions/contracts/schemas/eip-712/actions/sweep-deposit-account.json","../../src/instructions/contracts/schemas/eip-712/actions/sweep-deposit-erc4626.json","../../src/instructions/contracts/schemas/eip-712/actions/sweep-erc20.json","../../src/instructions/contracts/schemas/eip-712/actions/sweep-skip-cctp-deposit-account.json","../../src/instructions/contracts/schemas/eip-712/actions/sweep-uniswap-v3.json","../../src/instructions/contracts/schemas/eip-712/actions/sweep-withdraw-erc4626.json","../../src/instructions/contracts/schemas/eip-712/actions/sweep.json","../../src/instructions/contracts/schemas/eip-712/actions/transfer-erc20.json","../../src/instructions/contracts/schemas/eip-712/actions/transfer.json","../../src/instructions/contracts/schemas/eip-712/actions/uniswap-v3-exact-input.json","../../src/instructions/contracts/schemas/eip-712/actions/withdraw-erc4626.json","../../src/instructions/types.ts","../../src/instructions/activate.ts"],"sourcesContent":["/**\n * Default interval used when none is provided (in seconds).\n */\nexport const DEFAULT_INTERVAL_SECONDS = 12;\n\n/**\n * Default API timeout for instruction operations (in milliseconds).\n */\nexport const INSTRUCTION_DEFAULT_TIMEOUT = 30000;\n","import type { InstructionBuildRequest } from \"@otim/utils/api\";\nimport type { Address } from \"@otim/utils/schemas\";\n\nimport { parseUnits, toHex } from \"viem\";\n\nimport {\n coerceSecondsFromTimeUnitValue,\n parseDateTime,\n} from \"@otim/utils/helpers\";\nimport { InstructionAction } from \"@otim/utils/schemas\";\n\nimport { DEFAULT_INTERVAL_SECONDS } from \"./constants\";\n\n/**\n * Converts a PascalCase string to camelCase.\n * Example: \"TransferERC20\" -> \"transferERC20\"\n */\nfunction toCamelCase(str: string): string {\n return str.charAt(0).toLowerCase() + str.slice(1);\n}\n\n// Export base types for instruction build payloads\nexport type {\n BaseInstructionBuildPayload,\n GasLimitConfigurablePayload,\n ScheduledInstructionBuildPayload,\n TokenInstructionPayload,\n} from \"./types\";\n\n/**\n * Instruction build utilities\n *\n * Sections:\n * - Types & constants\n * - Schedule helpers\n * - Gas/Fee helpers\n * - Action-specific resolvers\n * - Build payload creator\n */\n\n// Types & constants\n/**\n * Parameters required to assemble a build payload for an instruction action.\n */\nexport interface CreateBuildPayloadParams {\n action: InstructionAction;\n address: Address;\n chainId: number;\n maxExecutions: number;\n salt?: number;\n actionArguments: InstructionBuildRequest[\"actionArguments\"][string];\n}\n\n/**\n * Build payload creator\n *\n * Creates the request body to build an instruction on the backend.\n */\nexport function createBuildPayload({\n action,\n address,\n chainId,\n maxExecutions,\n salt,\n actionArguments,\n}: CreateBuildPayloadParams): InstructionBuildRequest {\n return {\n address,\n chainId,\n maxExecutions,\n salt: salt ?? Math.floor(Math.random() * Number.MAX_SAFE_INTEGER),\n actionArguments: {\n [toCamelCase(action)]: actionArguments,\n },\n };\n}\n\n/**\n * Start specification for instruction scheduling.\n * Determines when the instruction should begin execution.\n */\nexport type ScheduleStart =\n | { type: \"datetime\"; startDate: string; startTime: string }\n | { type: \"now\" };\n\n/**\n * Repeat policy for instruction scheduling.\n * Controls how many times an instruction can execute.\n */\nexport type ScheduleRepeat =\n | { type: \"max-executions\"; maxExecutions: number }\n | { type: \"until-deactivated\" };\n\n/**\n * Advanced tuning options affecting schedule and fee behavior.\n * Provides fine-grained control over instruction execution parameters.\n */\nexport interface BuildAdvancedOptions {\n /* Maximum latency allowed for scheduled execution intervals */\n intervalLatencyLimit?: unknown;\n /* Lookback period for mean price calculation in swap operations */\n meanPriceLookBack?: unknown;\n /* Maximum allowed price deviation in basis points for swaps */\n maxPriceDeviationBps?: string | number;\n /* Maximum base fee per gas in Gwei for EIP-1559 transactions */\n maxBaseFeePerGas?: number | string;\n /* Maximum priority fee per gas in Gwei for EIP-1559 transactions */\n maxPriorityFeePerGas?: number | string;\n}\n\n/**\n * Resolves schedule start values.\n * - \"datetime\": schedules with explicit startAt timestamp (in seconds)\n * - \"now\" or omitted: starts immediately\n */\nexport const createScheduleStart = (values?: ScheduleStart) => {\n if (values && values.type === \"datetime\") {\n const date = parseDateTime(values.startDate, values.startTime);\n if (!date) throw new Error(\"Invalid start date or time\");\n return { startAt: Math.floor(date.getTime() / 1000), startBy: 0 };\n }\n return { startAt: 0, startBy: 0 };\n};\n\n/* Converts a time unit value to seconds and returns the interval field. */\nexport const createScheduleInterval = (values?: unknown) => {\n if (!values) return { interval: DEFAULT_INTERVAL_SECONDS };\n const seconds = coerceSecondsFromTimeUnitValue(values);\n return { interval: seconds || DEFAULT_INTERVAL_SECONDS };\n};\n\n/**\n * Converts a time unit value to seconds and returns the timeout field.\n * Timeout represents the maximum latency allowed for scheduled execution (0 = no limit).\n */\nexport const createScheduleIntervalLatencyLimit = (values?: unknown) => {\n if (!values) return { timeout: 0 };\n const seconds = coerceSecondsFromTimeUnitValue(values);\n return { timeout: seconds };\n};\n\n/**\n * Resolves maxExecutions based on repeat policy.\n * Returns 0 for unlimited executions when type is \"until-deactivated\".\n */\nexport const createScheduleRepeat = (values: ScheduleRepeat) => {\n if (values.type === \"max-executions\") {\n return { maxExecutions: values.maxExecutions };\n }\n return { maxExecutions: 0 };\n};\n\n/**\n * Assembles the schedule object when any schedule-related option is provided.\n */\nexport const resolveSchedule = (\n repeat: ScheduleRepeat,\n start?: ScheduleStart,\n interval?: unknown,\n advanced?: BuildAdvancedOptions,\n) => {\n const { maxExecutions } = createScheduleRepeat(repeat);\n if (!start && !interval && !advanced?.intervalLatencyLimit) {\n return { maxExecutions } as\n | { maxExecutions: number }\n | { maxExecutions: number; schedule: unknown };\n }\n\n const { startAt, startBy } = createScheduleStart(start);\n const { interval: intervalSeconds } = createScheduleInterval(interval);\n const { timeout } = createScheduleIntervalLatencyLimit(\n advanced?.intervalLatencyLimit,\n );\n\n return {\n maxExecutions,\n schedule: { interval: intervalSeconds, startBy, startAt, timeout },\n };\n};\n\n/**\n * Converts a Gwei value into Wei as a hex string. Returns 0x0 on invalid input.\n */\nexport const convertGweiToWei = (gweiValue: number | string): `0x${string}` => {\n try {\n if (isNaN(Number(gweiValue)) || Number(gweiValue) < 0) {\n throw new Error(`Invalid Gwei value: ${gweiValue}`);\n }\n const gweiString = Number(gweiValue).toFixed(18);\n return toHex(parseUnits(gweiString, 9));\n } catch {\n return toHex(0n);\n }\n};\n\n/**\n * Fee input required to resolve base fee configuration.\n * Specifies the token and amount for instruction execution fees.\n */\nexport interface BuildFeeInput {\n /* Address of the token used to pay execution fees */\n token: Address;\n /* Amount of fee to pay (optional, defaults to 0) */\n executionFee?: number | string;\n}\n\n/**\n * Builds the fee object including EIP-1559 caps and optional pricing controls.\n */\nexport const resolveFee = (\n fee: BuildFeeInput,\n advanced?: BuildAdvancedOptions,\n) => {\n const baseFee = {\n fee: {\n executionFee: 0,\n token: fee.token,\n maxBaseFeePerGas: convertGweiToWei(advanced?.maxBaseFeePerGas ?? 0),\n maxPriorityFeePerGas: convertGweiToWei(\n advanced?.maxPriorityFeePerGas ?? 0,\n ),\n },\n } as Record<string, unknown>;\n\n const additionalFields: Record<string, unknown> = {};\n if (advanced?.meanPriceLookBack) {\n additionalFields.meanPriceLookBack = coerceSecondsFromTimeUnitValue(\n advanced.meanPriceLookBack,\n );\n }\n if (advanced?.maxPriceDeviationBps) {\n const bpsValue = parseInt(String(advanced.maxPriceDeviationBps), 10);\n if (!isNaN(bpsValue)) {\n additionalFields.maxPriceDeviationBps = bpsValue;\n }\n }\n\n return { ...baseFee, ...additionalFields } as Record<string, unknown>;\n};\n\n/**\n * Some actions allow an explicit gas limit. Returns { gasLimit: 0 } when\n * needed, otherwise an empty object to keep payload minimal.\n */\nexport const resolveGasLimitIfNeeded = (action: InstructionAction) => {\n const actionsWithGasLimit: InstructionAction[] = [\n InstructionAction.Refuel,\n InstructionAction.Transfer,\n ];\n return actionsWithGasLimit.includes(action) ? { gasLimit: 0 } : {};\n};\n\n/**\n * Adds recipient field for Uniswap V3 exact input action when required.\n */\nexport const resolveRecipientForUniswapV3ExactInputIfNeeded = (\n action: InstructionAction,\n recipientAddress: Address,\n) => {\n return action === InstructionAction.UniswapV3ExactInput\n ? { recipient: recipientAddress }\n : {};\n};\n","import type {\n GasLimitConfigurablePayload,\n ScheduledInstructionBuildPayload,\n TokenInstructionPayload,\n} from \"../../types\";\nimport type { ActionArguments, InstructionBuildRequest } from \"@otim/utils/api\";\nimport type { Address } from \"@otim/utils/schemas\";\n\nimport { InstructionAction } from \"@otim/utils/schemas\";\n\nimport { createBuildPayload } from \"../../build\";\n\n/**\n * Payload for building a refuel instruction.\n * Automatically refuels a target address when balance drops below threshold.\n * Supports both native currency and ERC20 token refueling.\n */\nexport interface RefuelBuildPayload\n extends\n ScheduledInstructionBuildPayload,\n TokenInstructionPayload,\n GasLimitConfigurablePayload {\n // Target address to monitor and refuel\n target: Address;\n // Balance threshold (as hex string) that triggers refueling\n threshold: string;\n // Target balance (as hex string) to refuel to\n endBalance: string;\n}\n\nexport function createRefuelBuildPayload(\n payload: RefuelBuildPayload,\n): InstructionBuildRequest {\n const { address, chainId, maxExecutions, salt } = payload;\n\n const action = payload.token\n ? InstructionAction.RefuelERC20\n : InstructionAction.Refuel;\n\n const actionArguments: Record<string, unknown> = {\n target: payload.target,\n threshold: payload.threshold,\n endBalance: payload.endBalance,\n fee: payload.fee,\n schedule: payload.schedule,\n };\n\n if (payload.token) {\n actionArguments.token = payload.token;\n }\n\n if (payload.gasLimit !== undefined) {\n actionArguments.gasLimit = payload.gasLimit;\n }\n\n return createBuildPayload({\n action,\n actionArguments: actionArguments as ActionArguments,\n address,\n chainId,\n maxExecutions,\n salt,\n });\n}\n","import type { ScheduledInstructionBuildPayload } from \"../../types\";\nimport type { ActionArguments, InstructionBuildRequest } from \"@otim/utils/api\";\nimport type { Address } from \"@otim/utils/schemas\";\n\nimport { InstructionAction } from \"@otim/utils/schemas\";\n\nimport { createBuildPayload } from \"../../build\";\n\n/**\n * Payload for building a Uniswap V3 exact input swap instruction.\n * Swaps a specific input amount for a minimum output amount using Uniswap V3.\n */\nexport interface UniswapV3ExactInputBuildPayload extends ScheduledInstructionBuildPayload {\n // Input token address\n tokenIn: Address;\n // Output token address\n tokenOut: Address;\n // Fee tier for the Uniswap V3 pool (e.g., \"500\" for 0.05%, \"3000\" for 0.3%)\n feeTier: string;\n // Amount of input token to swap (as hex string)\n amountIn: string;\n // Minimum amount of output token to receive (as hex string)\n floorAmountOut: string;\n // Recipient address for the output tokens\n recipient: Address;\n // Lookback period (seconds) for mean price calculation\n meanPriceLookBack?: number;\n // Maximum price deviation in basis points (BPS)\n maxPriceDeviationBps?: number;\n}\n\nexport function createUniswapV3ExactInputBuildPayload(\n payload: UniswapV3ExactInputBuildPayload,\n): InstructionBuildRequest {\n const { address, chainId, maxExecutions, salt } = payload;\n\n const action = InstructionAction.UniswapV3ExactInput;\n\n const actionArguments: Record<string, unknown> = {\n recipient: payload.recipient,\n tokenIn: payload.tokenIn,\n tokenOut: payload.tokenOut,\n feeTier: payload.feeTier,\n amountIn: payload.amountIn,\n floorAmountOut: payload.floorAmountOut,\n meanPriceLookBack: payload.meanPriceLookBack ?? 500,\n maxPriceDeviationBps: payload.maxPriceDeviationBps ?? 500,\n schedule: payload.schedule,\n fee: payload.fee,\n };\n\n return createBuildPayload({\n action,\n actionArguments: actionArguments as ActionArguments,\n address,\n chainId,\n maxExecutions,\n salt,\n });\n}\n","import type {\n GasLimitConfigurablePayload,\n ScheduledInstructionBuildPayload,\n TokenInstructionPayload,\n} from \"../../types\";\nimport type { ActionArguments, InstructionBuildRequest } from \"@otim/utils/api\";\nimport type { Address } from \"@otim/utils/schemas\";\n\nimport { InstructionAction } from \"@otim/utils/schemas\";\n\nimport { createBuildPayload } from \"../../build\";\n\n/**\n * Payload for building a transfer instruction.\n * Supports both native currency and ERC20 token transfers.\n */\nexport interface TransferBuildPayload\n extends\n ScheduledInstructionBuildPayload,\n TokenInstructionPayload,\n GasLimitConfigurablePayload {\n // Target address to receive the transfer\n target: Address;\n // Amount to transfer (as hex string)\n value: string;\n}\n\nexport function createTransferBuildPayload(\n payload: TransferBuildPayload,\n): InstructionBuildRequest {\n const { address, chainId, maxExecutions, salt } = payload;\n\n const action = payload.token\n ? InstructionAction.TransferERC20\n : InstructionAction.Transfer;\n\n const actionArguments: Record<string, unknown> = {\n target: payload.target,\n value: payload.value,\n fee: payload.fee,\n schedule: payload.schedule,\n };\n\n if (payload.token) {\n actionArguments.token = payload.token;\n }\n\n if (payload.gasLimit !== undefined) {\n actionArguments.gasLimit = payload.gasLimit;\n }\n\n return createBuildPayload({\n action,\n actionArguments: actionArguments as ActionArguments,\n address,\n chainId,\n maxExecutions,\n salt,\n });\n}\n","import type {\n BaseInstructionBuildPayload,\n ScheduledInstructionBuildPayload,\n} from \"../../types\";\nimport type { ActionArguments, InstructionBuildRequest } from \"@otim/utils/api\";\nimport type { Address } from \"@otim/utils/schemas\";\n\nimport { InstructionAction } from \"@otim/utils/schemas\";\n\nimport { createBuildPayload } from \"../../build\";\n\n/**\n * Payload for building a deposit ERC4626 instruction.\n * Deposits assets into an ERC4626 vault on a schedule.\n */\nexport interface DepositERC4626BuildPayload\n extends ScheduledInstructionBuildPayload {\n // Vault address to deposit into\n vault: Address;\n // Recipient address for the vault shares\n recipient: Address;\n // Amount to deposit (as hex string)\n value: string;\n // Minimum deposit amount (as hex string)\n minDeposit: string;\n // Minimum total shares (as hex string)\n minTotalShares: string;\n}\n\nexport function createDepositERC4626BuildPayload(\n payload: DepositERC4626BuildPayload,\n): InstructionBuildRequest {\n const { address, chainId, maxExecutions, salt } = payload;\n\n const action = InstructionAction.DepositERC4626;\n\n const actionArguments: Record<string, unknown> = {\n vault: payload.vault,\n recipient: payload.recipient,\n value: payload.value,\n minDeposit: payload.minDeposit,\n minTotalShares: payload.minTotalShares,\n schedule: payload.schedule,\n fee: payload.fee,\n };\n\n return createBuildPayload({\n action,\n actionArguments: actionArguments as ActionArguments,\n address,\n chainId,\n maxExecutions,\n salt,\n });\n}\n\n/**\n * Payload for building a sweep deposit ERC4626 instruction.\n * Automatically sweeps and deposits funds into an ERC4626 vault when balance exceeds threshold.\n * Note: This action does NOT support scheduling.\n */\nexport interface SweepDepositERC4626BuildPayload\n extends BaseInstructionBuildPayload {\n // Vault address to deposit into\n vault: Address;\n // Recipient address for the vault shares\n recipient: Address;\n // Balance threshold (as hex string) that triggers sweeping\n threshold: string;\n // Target balance (as hex string) to sweep to\n endBalance: string;\n // Minimum deposit amount (as hex string)\n minDeposit: string;\n // Minimum total shares (as hex string)\n minTotalShares: string;\n}\n\nexport function createSweepDepositERC4626BuildPayload(\n payload: SweepDepositERC4626BuildPayload,\n): InstructionBuildRequest {\n const { address, chainId, maxExecutions, salt } = payload;\n\n const action = InstructionAction.SweepDepositERC4626;\n\n const actionArguments: Record<string, unknown> = {\n vault: payload.vault,\n recipient: payload.recipient,\n threshold: payload.threshold,\n endBalance: payload.endBalance,\n minDeposit: payload.minDeposit,\n minTotalShares: payload.minTotalShares,\n fee: payload.fee,\n };\n\n return createBuildPayload({\n action,\n actionArguments: actionArguments as ActionArguments,\n address,\n chainId,\n maxExecutions,\n salt,\n });\n}\n\n/**\n * Payload for building a withdraw ERC4626 instruction.\n * Withdraws assets from an ERC4626 vault on a schedule.\n */\nexport interface WithdrawERC4626BuildPayload\n extends ScheduledInstructionBuildPayload {\n // Vault address to withdraw from\n vault: Address;\n // Recipient address for the withdrawn assets\n recipient: Address;\n // Amount to withdraw (as hex string)\n value: string;\n // Minimum withdraw amount (as hex string)\n minWithdraw: string;\n}\n\nexport function createWithdrawERC4626BuildPayload(\n payload: WithdrawERC4626BuildPayload,\n): InstructionBuildRequest {\n const { address, chainId, maxExecutions, salt } = payload;\n\n const action = InstructionAction.WithdrawERC4626;\n\n const actionArguments: Record<string, unknown> = {\n vault: payload.vault,\n recipient: payload.recipient,\n value: payload.value,\n minWithdraw: payload.minWithdraw,\n schedule: payload.schedule,\n fee: payload.fee,\n };\n\n return createBuildPayload({\n action,\n actionArguments: actionArguments as ActionArguments,\n address,\n chainId,\n maxExecutions,\n salt,\n });\n}\n\n/**\n * Payload for building a sweep withdraw ERC4626 instruction.\n * Automatically sweeps and withdraws funds from an ERC4626 vault when share balance exceeds threshold.\n * Note: This action does NOT support scheduling.\n */\nexport interface SweepWithdrawERC4626BuildPayload\n extends BaseInstructionBuildPayload {\n // Vault address to withdraw from\n vault: Address;\n // Recipient address for the withdrawn assets\n recipient: Address;\n // Share threshold (as hex string) that triggers sweeping\n threshold: string;\n // Target balance (as hex string) to sweep to\n endBalance: string;\n // Minimum withdraw amount (as hex string)\n minWithdraw: string;\n}\n\nexport function createSweepWithdrawERC4626BuildPayload(\n payload: SweepWithdrawERC4626BuildPayload,\n): InstructionBuildRequest {\n const { address, chainId, maxExecutions, salt } = payload;\n\n const action = InstructionAction.SweepWithdrawERC4626;\n\n const actionArguments: Record<string, unknown> = {\n vault: payload.vault,\n recipient: payload.recipient,\n threshold: payload.threshold,\n endBalance: payload.endBalance,\n minWithdraw: payload.minWithdraw,\n fee: payload.fee,\n };\n\n return createBuildPayload({\n action,\n actionArguments: actionArguments as ActionArguments,\n address,\n chainId,\n maxExecutions,\n salt,\n });\n}\n\n","// abi parameter definitions for otim build instruction action arguments\n// @see https://abitype.dev for more information about abi typing\n\nimport type { AbiParameter } from \"abitype\";\n\nimport { InstructionAction } from \"@otim/utils/schemas\";\n\nconst targetField = {\n name: \"target\",\n type: \"address\",\n} as const satisfies AbiParameter;\n\nconst scheduleField = {\n name: \"schedule\",\n type: \"tuple\",\n components: [\n { name: \"startAt\", type: \"uint256\" },\n { name: \"startBy\", type: \"uint256\" },\n { name: \"interval\", type: \"uint256\" },\n { name: \"timeout\", type: \"uint256\" },\n ],\n} as const satisfies AbiParameter;\n\nconst tokenField = {\n name: \"token\",\n type: \"address\",\n} as const satisfies AbiParameter;\n\nconst feeField = {\n name: \"fee\",\n type: \"tuple\",\n components: [\n { name: \"token\", type: \"address\" },\n { name: \"maxBaseFeePerGas\", type: \"uint256\" },\n { name: \"maxPriorityFeePerGas\", type: \"uint256\" },\n { name: \"executionFee\", type: \"uint256\" },\n ],\n} as const satisfies AbiParameter;\n\n// instruction abi parameter definitions\n// each export represents the abi parameters for a specific instruction action\n\nexport const refuelArgumentsAbi = [\n targetField,\n { name: \"threshold\", type: \"uint256\" },\n { name: \"endBalance\", type: \"uint256\" },\n { name: \"gasLimit\", type: \"uint256\" },\n feeField,\n] as const satisfies readonly AbiParameter[];\n\nexport const refuelERC20ArgumentsAbi = [\n tokenField,\n targetField,\n { name: \"threshold\", type: \"uint256\" },\n { name: \"endBalance\", type: \"uint256\" },\n feeField,\n] as const satisfies readonly AbiParameter[];\n\nexport const transferArgumentsAbi = [\n targetField,\n { name: \"value\", type: \"uint256\" },\n { name: \"gasLimit\", type: \"uint256\" },\n scheduleField,\n feeField,\n] as const satisfies readonly AbiParameter[];\n\nexport const transferERC20ArgumentsAbi = [\n tokenField,\n targetField,\n { name: \"value\", type: \"uint256\" },\n scheduleField,\n feeField,\n] as const satisfies readonly AbiParameter[];\n\nexport const uniswapV3ExactInputArgumentsAbi = [\n { name: \"recipient\", type: \"address\" },\n { name: \"tokenIn\", type: \"address\" },\n { name: \"tokenOut\", type: \"address\" },\n { name: \"feeTier\", type: \"uint24\" },\n { name: \"amountIn\", type: \"uint256\" },\n { name: \"floorAmountOut\", type: \"uint256\" },\n { name: \"meanPriceLookBack\", type: \"uint32\" },\n { name: \"maxPriceDeviationBPS\", type: \"uint32\" },\n scheduleField,\n feeField,\n] as const satisfies readonly AbiParameter[];\n\nexport const sweepSkipCCTPDepositAccountArgumentsAbi = [\n { name: \"depositor\", type: \"address\" },\n { name: \"destinationDomain\", type: \"uint32\" },\n { name: \"destinationMintRecipient\", type: \"bytes32\" },\n { name: \"threshold\", type: \"uint256\" },\n feeField,\n] as const satisfies readonly AbiParameter[];\n\nexport const deactivateInstructionArgumentsAbi = [\n { name: \"instructionId\", type: \"bytes32\" },\n feeField,\n] as const satisfies readonly AbiParameter[];\n\nexport const depositERC4626ArgumentsAbi = [\n { name: \"vault\", type: \"address\" },\n { name: \"recipient\", type: \"address\" },\n { name: \"value\", type: \"uint256\" },\n { name: \"minDeposit\", type: \"uint256\" },\n { name: \"minTotalShares\", type: \"uint256\" },\n scheduleField,\n feeField,\n] as const satisfies readonly AbiParameter[];\n\nexport const sweepDepositERC4626ArgumentsAbi = [\n { name: \"vault\", type: \"address\" },\n { name: \"recipient\", type: \"address\" },\n { name: \"threshold\", type: \"uint256\" },\n { name: \"endBalance\", type: \"uint256\" },\n { name: \"minDeposit\", type: \"uint256\" },\n { name: \"minTotalShares\", type: \"uint256\" },\n feeField,\n] as const satisfies readonly AbiParameter[];\n\nexport const withdrawERC4626ArgumentsAbi = [\n { name: \"vault\", type: \"address\" },\n { name: \"recipient\", type: \"address\" },\n { name: \"value\", type: \"uint256\" },\n { name: \"minWithdraw\", type: \"uint256\" },\n scheduleField,\n feeField,\n] as const satisfies readonly AbiParameter[];\n\nexport const sweepWithdrawERC4626ArgumentsAbi = [\n { name: \"vault\", type: \"address\" },\n { name: \"recipient\", type: \"address\" },\n { name: \"threshold\", type: \"uint256\" },\n { name: \"endBalance\", type: \"uint256\" },\n { name: \"minWithdraw\", type: \"uint256\" },\n feeField,\n] as const satisfies readonly AbiParameter[];\n\nexport const sweepDepositAccountArgumentsAbi = [\n { name: \"depositor\", type: \"address\" },\n { name: \"recipient\", type: \"address\" },\n { name: \"threshold\", type: \"uint256\" },\n feeField,\n] as const satisfies readonly AbiParameter[];\n\nexport const sweepDepositAccountERC20ArgumentsAbi = [\n tokenField,\n { name: \"depositor\", type: \"address\" },\n { name: \"recipient\", type: \"address\" },\n { name: \"threshold\", type: \"uint256\" },\n feeField,\n] as const satisfies readonly AbiParameter[];\n\n/* Map of instruction action to its ABI parameters */\n// Map of instruction action to its ABI parameters\nexport const buildInstructionActionArgumentsAbiMap = {\n [InstructionAction.Refuel]: refuelArgumentsAbi,\n [InstructionAction.RefuelERC20]: refuelERC20ArgumentsAbi,\n [InstructionAction.Transfer]: transferArgumentsAbi,\n [InstructionAction.TransferERC20]: transferERC20ArgumentsAbi,\n [InstructionAction.UniswapV3ExactInput]: uniswapV3ExactInputArgumentsAbi,\n [InstructionAction.SweepSkipCCTPDepositAccount]:\n sweepSkipCCTPDepositAccountArgumentsAbi,\n [InstructionAction.DeactivateInstruction]: deactivateInstructionArgumentsAbi,\n [InstructionAction.DepositERC4626]: depositERC4626ArgumentsAbi,\n [InstructionAction.SweepDepositERC4626]: sweepDepositERC4626ArgumentsAbi,\n [InstructionAction.WithdrawERC4626]: withdrawERC4626ArgumentsAbi,\n [InstructionAction.SweepWithdrawERC4626]: sweepWithdrawERC4626ArgumentsAbi,\n [InstructionAction.SweepDepositAccount]: sweepDepositAccountArgumentsAbi,\n [InstructionAction.SweepDepositAccountERC20]:\n sweepDepositAccountERC20ArgumentsAbi,\n} as const;\n","","","","","","","","","","","","","","","","","","import type { Address } from \"@otim/utils/schemas\";\n\nimport { InstructionAction } from \"@otim/utils/schemas\";\n\nimport deactivateInstructionTypes from \"./contracts/schemas/eip-712/actions/deactivate-instruction.json\";\nimport depositERC4626Types from \"./contracts/schemas/eip-712/actions/deposit-erc4626.json\";\nimport refuelERC20Types from \"./contracts/schemas/eip-712/actions/refuel-erc20.json\";\nimport refuelTypes from \"./contracts/schemas/eip-712/actions/refuel.json\";\nimport sweepCCTPTypes from \"./contracts/schemas/eip-712/actions/sweep-cctp.json\";\nimport sweepDepositAccountERC20Types from \"./contracts/schemas/eip-712/actions/sweep-deposit-account-erc20.json\";\nimport sweepDepositAccountTypes from \"./contracts/schemas/eip-712/actions/sweep-deposit-account.json\";\nimport sweepDepositERC4626Types from \"./contracts/schemas/eip-712/actions/sweep-deposit-erc4626.json\";\nimport sweepERC20Types from \"./contracts/schemas/eip-712/actions/sweep-erc20.json\";\nimport sweepSkipCCTPDepositAccountTypes from \"./contracts/schemas/eip-712/actions/sweep-skip-cctp-deposit-account.json\";\nimport sweepUniswapV3Types from \"./contracts/schemas/eip-712/actions/sweep-uniswap-v3.json\";\nimport sweepWithdrawERC4626Types from \"./contracts/schemas/eip-712/actions/sweep-withdraw-erc4626.json\";\nimport sweepTypes from \"./contracts/schemas/eip-712/actions/sweep.json\";\nimport transferERC20Types from \"./contracts/schemas/eip-712/actions/transfer-erc20.json\";\nimport transferTypes from \"./contracts/schemas/eip-712/actions/transfer.json\";\nimport uniswapV3ExactInputTypes from \"./contracts/schemas/eip-712/actions/uniswap-v3-exact-input.json\";\nimport withdrawERC4626Types from \"./contracts/schemas/eip-712/actions/withdraw-erc4626.json\";\n\n/* EIP-712 types structure for instruction signatures. */\nexport interface EIP712Types {\n types: {\n [key: string]: Array<{ name: string; type: string }>;\n Instruction: Array<{ name: string; type: string }>;\n };\n}\n\n/**\n * Map of instruction actions to their EIP-712 type definitions.\n * Used for creating typed data structures for instruction signatures.\n */\nexport const eip712TypesMap = {\n [InstructionAction.Refuel]: refuelTypes,\n [InstructionAction.RefuelERC20]: refuelERC20Types,\n [InstructionAction.Transfer]: transferTypes,\n [InstructionAction.TransferERC20]: transferERC20Types,\n [InstructionAction.UniswapV3ExactInput]: uniswapV3ExactInputTypes,\n [InstructionAction.Sweep]: sweepTypes,\n [InstructionAction.SweepERC20]: sweepERC20Types,\n [InstructionAction.SweepCCTP]: sweepCCTPTypes,\n [InstructionAction.SweepUniswapV3]: sweepUniswapV3Types,\n [InstructionAction.SweepSkipCCTPDepositAccount]: sweepSkipCCTPDepositAccountTypes,\n [InstructionAction.DeactivateInstruction]: deactivateInstructionTypes,\n [InstructionAction.DepositERC4626]: depositERC4626Types,\n [InstructionAction.SweepDepositERC4626]: sweepDepositERC4626Types,\n [InstructionAction.WithdrawERC4626]: withdrawERC4626Types,\n [InstructionAction.SweepWithdrawERC4626]: sweepWithdrawERC4626Types,\n [InstructionAction.SweepDepositAccount]: sweepDepositAccountTypes,\n [InstructionAction.SweepDepositAccountERC20]: sweepDepositAccountERC20Types,\n} as const satisfies Partial<Record<string, EIP712Types>>;\n\n/**\n * Base instruction build payload containing fields common to all instructions.\n */\nexport interface BaseInstructionBuildPayload {\n // Account address that will execute the instruction\n address: Address;\n // Chain ID where the instruction will be executed\n chainId: number;\n // Maximum number of times the instruction can be executed (0 = unlimited)\n maxExecutions: number;\n // Optional salt for uniqueness\n salt?: number;\n // Fee configuration for instruction execution\n fee: {\n executionFee: string;\n maxBaseFeePerGas: string;\n maxPriorityFeePerGas: string;\n token: Address;\n };\n}\n\n/**\n * Extended base payload for instructions that support scheduling.\n * Includes all base fields plus schedule configuration.\n */\nexport interface ScheduledInstructionBuildPayload extends BaseInstructionBuildPayload {\n // Schedule configuration for when and how often the instruction runs\n schedule: {\n // Unix timestamp (seconds) when instruction should start (0 = immediate)\n startAt: number;\n // Unix timestamp (seconds) by which instruction must start (0 = no deadline)\n startBy: number;\n // Interval (seconds) between executions\n interval: number;\n // Maximum latency (seconds) allowed for scheduled execution (0 = no limit)\n timeout: number;\n };\n}\n\n/**\n * Extended payload for instructions that support an optional token parameter.\n * This is typically used for ERC20 variants of actions.\n */\nexport interface TokenInstructionPayload {\n // Optional token address (if not provided, uses native currency)\n token?: Address;\n}\n\n/**\n * Extended payload for instructions that support gas limit configuration.\n * Used by actions like transfer and refuel.\n */\nexport interface GasLimitConfigurablePayload {\n // Optional gas limit for the action (0 or undefined = auto)\n gasLimit?: number;\n}\n","import type { InstructionActivateRequest } from \"@otim/utils/api\";\nimport type { Address, HexString } from \"@otim/utils/schemas\";\nimport type { TypedDataDomain } from \"viem\";\n\nimport { decodeAbiParameters, keccak256, pad, toHex } from \"viem\";\n\nimport {\n createEIP2098Signature,\n parseSignatureToVRS,\n} from \"@otim/utils/helpers\";\n\nimport { buildInstructionActionArgumentsAbiMap } from \"./contracts/artifacts/abi/build-instruction-action-arguments-abi\";\nimport { eip712TypesMap } from \"./types\";\n\n/**\n * Converts a PascalCase string to camelCase.\n * Example: \"TransferERC20\" -> \"transferERC20\"\n */\nexport function toCamelCase(str: string): string {\n return str.charAt(0).toLowerCase() + str.slice(1);\n}\n\n/**\n * Converts a camelCase string to PascalCase.\n * Example: \"transferERC20\" -> \"TransferERC20\"\n */\nfunction toPascalCase(str: string): string {\n return str.charAt(0).toUpperCase() + str.slice(1);\n}\n\n/**\n * PascalCase instruction actions that have EIP-712 type definitions.\n */\ntype EIP712SupportedAction = keyof typeof eip712TypesMap;\n\n/**\n * CamelCase version of InstructionAction for EIP-712 typed data.\n * Only includes actions that have EIP-712 type definitions.\n */\nexport type InstructionActionCamelCase =\n | \"refuel\"\n | \"refuelERC20\"\n | \"transfer\"\n | \"transferERC20\"\n | \"uniswapV3ExactInput\"\n | \"sweep\"\n | \"sweepERC20\"\n | \"sweepCCTP\"\n | \"sweepUniswapV3\"\n | \"deactivateInstruction\"\n | \"sweepSkipCCTPDepositAccount\"\n | \"depositERC4626\"\n | \"sweepDepositERC4626\"\n | \"withdrawERC4626\"\n | \"sweepWithdrawERC4626\"\n | \"sweepDepositAccount\"\n | \"sweepDepositAccountERC20\";\n\n/**\n * EIP-712 typed data for instruction activation signatures.\n */\nexport interface InstructionEIP712TypedData {\n domain: TypedDataDomain;\n primaryType: \"Instruction\";\n types: Record<string, Array<{ name: string; type: string }>>;\n message: {\n [key: string]: unknown; // Action-specific decoded arguments\n salt: bigint;\n maxExecutions: bigint;\n action: HexString;\n };\n}\n\n/**\n * Payload for activating an instruction with all required parameters.\n */\nexport interface InstructionActivatePayload {\n nickname?: string;\n address: Address;\n chainId: number;\n salt: HexString;\n maxExecutions: HexString;\n action: HexString;\n actionName: InstructionActionCamelCase;\n arguments: HexString;\n signature: string;\n}\n\n/**\n * Configuration for creating instruction signatures.\n */\nexport interface InstructionSignatureConfig {\n delegateAddress: Address;\n chainId: number;\n}\n\n/**\n * Creates the EIP-712 domain for instruction signatures.\n * Defines the domain separator used in typed data signing.\n *\n * @param config - Configuration containing delegate address and chain ID\n * @returns TypedDataDomain object for EIP-712 signing\n */\nexport function createInstructionDomain(\n config: InstructionSignatureConfig,\n): TypedDataDomain {\n return {\n chainId: config.chainId,\n name: \"OtimDelegate\",\n salt: keccak256(toHex(\"ON_TIME_INSTRUCTED_MONEY\")),\n verifyingContract: config.delegateAddress,\n version: \"1\",\n };\n}\n\n/**\n * Decodes hex-encoded instruction parameters for EIP-712 signatures.\n * Uses action-specific ABI definitions to properly decode arguments.\n *\n * @param salt - Hex-encoded salt value for instruction uniqueness\n * @param maxExecutions - Hex-encoded maximum execution count\n * @param argumentsHex - Hex-encoded action-specific arguments\n * @param actionName - Name of the instruction action (camelCase)\n * @returns Decoded parameters as TypeScript primitives\n * @throws Error if action has no EIP-712 types or ABI definition\n */\nexport function decodeInstructionParameters(\n salt: HexString,\n maxExecutions: HexString,\n argumentsHex: HexString,\n actionName: InstructionActionCamelCase,\n): {\n decodedSalt: bigint;\n decodedMaxExecutions: bigint;\n decodedArguments: Record<string, unknown>;\n} {\n const pascalCaseActionName = toPascalCase(actionName) as EIP712SupportedAction;\n const eip712Types = eip712TypesMap[pascalCaseActionName];\n const argumentsAbi =\n buildInstructionActionArgumentsAbiMap[\n pascalCaseActionName as keyof typeof buildInstructionActionArgumentsAbiMap\n ];\n\n if (!eip712Types) {\n throw new Error(`No EIP-712 types found for action: ${actionName}`);\n }\n\n if (!argumentsAbi) {\n throw new Error(`No arguments ABI found for action: ${actionName}`);\n }\n\n const [decodedSalt] = decodeAbiParameters(\n [eip712Types.types.Instruction[0]!],\n pad(salt),\n );\n\n const [decodedMaxExecutions] = decodeAbiParameters(\n [eip712Types.types.Instruction[1]!],\n pad(maxExecutions),\n );\n\n const decodedArgsArray = decodeAbiParameters(argumentsAbi, argumentsHex);\n\n const decodedArguments: Record<string, unknown> = {};\n argumentsAbi.forEach((param: { name: string }, index: number) => {\n decodedArguments[param.name] = decodedArgsArray[index];\n });\n\n return {\n decodedSalt: decodedSalt as bigint,\n decodedMaxExecutions: decodedMaxExecutions as bigint,\n decodedArguments,\n };\n}\n\n/**\n * Creates EIP-712 typed data for instruction activation.\n * Automatically handles ABI decoding based on action type.\n *\n * @param payload - Instruction activation payload (without signature)\n * @param config - Signature configuration for domain creation\n * @returns Complete EIP-712 typed data structure ready for signing\n * @throws Error if action has no EIP-712 type definitions\n */\nexport function createInstructionTypedData(\n payload: Omit<InstructionActivatePayload, \"signature\" | \"nickname\">,\n config: InstructionSignatureConfig,\n): InstructionEIP712TypedData {\n const { decodedSalt, decodedMaxExecutions, decodedArguments } =\n decodeInstructionParameters(\n payload.salt,\n payload.maxExecutions,\n payload.arguments,\n payload.actionName,\n );\n\n const pascalCaseActionName = toPascalCase(payload.actionName) as EIP712SupportedAction;\n const eip712Types = eip712TypesMap[pascalCaseActionName];\n\n if (!eip712Types) {\n throw new Error(`No EIP-712 types found for action: ${payload.actionName}`);\n }\n\n const domain = createInstructionDomain(config);\n\n return {\n domain,\n primaryType: \"Instruction\",\n types: eip712Types.types,\n message: {\n [payload.actionName]: decodedArguments,\n salt: decodedSalt,\n maxExecutions: decodedMaxExecutions,\n action: payload.action,\n },\n };\n}\n\n/**\n * Creates an activation payload with EIP-2098 signature format.\n * Converts a standard signature to the compact EIP-2098 format used by the protocol.\n *\n * @param payload - The instruction activation payload including signature\n * @returns Formatted activation request ready for API submission\n */\nexport function createActivationPayload(\n payload: InstructionActivatePayload,\n): InstructionActivateRequest {\n const vrs = parseSignatureToVRS(payload.signature);\n const primitiveSignature = createEIP2098Signature(vrs);\n\n return {\n nickname: payload.nickname,\n address: payload.address,\n chainId: payload.chainId,\n salt: payload.salt,\n maxExecutions: payload.maxExecutions,\n action: payload.action,\n arguments: payload.arguments,\n activationSignature: primitiveSignature,\n };\n}\n"],"mappings":"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"}
@@ -1,4 +1,5 @@
1
- import { T as Address$2 } from "../index-BW-iKuuM.mjs";
1
+ import { T as Address$1 } from "../user-CbQLjMOC.mjs";
2
+ import "../schemas/index.mjs";
2
3
  import { Address, HexString } from "@otim/utils/schemas";
3
4
  import { Nullable, Nullish } from "@otim/utils/helpers";
4
5
  import { EIP712Types } from "@otim/utils/instructions";
@@ -249,7 +250,7 @@ interface BuildPaymentMetadataParams {
249
250
  readonly tokenSymbol: string;
250
251
  readonly dueDate: string;
251
252
  readonly amountInUSD: number;
252
- readonly fromAccountAddress: Address$2;
253
+ readonly fromAccountAddress: Address$1;
253
254
  readonly payer: Payer;
254
255
  readonly note?: string;
255
256
  readonly source?: string;
@@ -260,7 +261,7 @@ interface BuildPaymentMetadataParams {
260
261
  */
261
262
  interface BuildPaymentMetadataFromInvoiceParams {
262
263
  readonly tokenSymbol: string;
263
- readonly fromAccountAddress: Address$2;
264
+ readonly fromAccountAddress: Address$1;
264
265
  readonly payer: Payer;
265
266
  readonly invoiceMetadata: InvoiceMetadata;
266
267
  }