@bitgo/public-types 5.25.0 → 5.26.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -52,6 +52,10 @@ export declare const AptCustomTxIntent: t.IntersectionC<[t.IntersectionC<[t.Type
52
52
  aptosCustomTransactionParams: t.IntersectionC<[t.TypeC<{
53
53
  moduleName: t.StringC;
54
54
  functionName: t.StringC;
55
+ abi: t.TypeC<{
56
+ typeParameters: t.ArrayC<t.AnyC>;
57
+ parameters: t.ArrayC<t.AnyC>;
58
+ }>;
55
59
  }>, t.PartialC<{
56
60
  typeArguments: t.ArrayC<t.StringC>;
57
61
  functionArguments: t.ArrayC<t.AnyC>;
@@ -28,6 +28,10 @@ const t = __importStar(require("io-ts"));
28
28
  const aptBuildOptions_1 = require("./aptBuildOptions");
29
29
  const baseIntent_1 = require("./baseIntent");
30
30
  const intentType_1 = require("./intentType");
31
+ const EntryFunctionABI = t.type({
32
+ typeParameters: t.array(t.any),
33
+ parameters: t.array(t.any),
34
+ });
31
35
  exports.AptCustomTxIntent = t.intersection([
32
36
  baseIntent_1.BaseIntent,
33
37
  aptBuildOptions_1.AptBuildOptions,
@@ -37,6 +41,7 @@ exports.AptCustomTxIntent = t.intersection([
37
41
  t.type({
38
42
  moduleName: t.string,
39
43
  functionName: t.string,
44
+ abi: EntryFunctionABI,
40
45
  }),
41
46
  t.partial({
42
47
  typeArguments: t.array(t.string),
@@ -1 +1 @@
1
- {"version":3,"file":"aptCustomTxIntent.js","sourceRoot":"","sources":["../../../../../src/schema/transactionRequest/intents/aptCustomTxIntent.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yCAA2B;AAC3B,uDAAoD;AACpD,6CAA0C;AAC1C,6CAA2C;AAK9B,QAAA,iBAAiB,GAAG,CAAC,CAAC,YAAY,CAAC;IAC9C,uBAAU;IACV,iCAAe;IACf,CAAC,CAAC,IAAI,CAAC;QACL,UAAU,EAAE,wBAAW,CAAC,QAAQ;QAChC,4BAA4B,EAAE,CAAC,CAAC,YAAY,CAAC;YAC3C,CAAC,CAAC,IAAI,CAAC;gBACL,UAAU,EAAE,CAAC,CAAC,MAAM;gBACpB,YAAY,EAAE,CAAC,CAAC,MAAM;aACvB,CAAC;YACF,CAAC,CAAC,OAAO,CAAC;gBACR,aAAa,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;gBAChC,iBAAiB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC;aAClC,CAAC;SACH,CAAC;KACH,CAAC;CACH,CAAC,CAAC"}
1
+ {"version":3,"file":"aptCustomTxIntent.js","sourceRoot":"","sources":["../../../../../src/schema/transactionRequest/intents/aptCustomTxIntent.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yCAA2B;AAC3B,uDAAoD;AACpD,6CAA0C;AAC1C,6CAA2C;AAG3C,MAAM,gBAAgB,GAAG,CAAC,CAAC,IAAI,CAAC;IAC9B,cAAc,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC;IAC9B,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC;CAC3B,CAAC,CAAC;AAKU,QAAA,iBAAiB,GAAG,CAAC,CAAC,YAAY,CAAC;IAC9C,uBAAU;IACV,iCAAe;IACf,CAAC,CAAC,IAAI,CAAC;QACL,UAAU,EAAE,wBAAW,CAAC,QAAQ;QAChC,4BAA4B,EAAE,CAAC,CAAC,YAAY,CAAC;YAC3C,CAAC,CAAC,IAAI,CAAC;gBACL,UAAU,EAAE,CAAC,CAAC,MAAM;gBACpB,YAAY,EAAE,CAAC,CAAC,MAAM;gBACtB,GAAG,EAAE,gBAAgB;aACtB,CAAC;YACF,CAAC,CAAC,OAAO,CAAC;gBACR,aAAa,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;gBAChC,iBAAiB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC;aAClC,CAAC;SACH,CAAC;KACH,CAAC;CACH,CAAC,CAAC"}
@@ -76,6 +76,8 @@ export * from "./nearStakeIntent";
76
76
  export * from "./nearUnstakeIntent";
77
77
  export * from "./nearWithdrawIntent";
78
78
  export * from "./polyxBaseIntent";
79
+ export * from "./polyxCreateAccountIntent";
80
+ export * from "./polyxPreApproveAssetIntent";
79
81
  export * from "./polyxStakeIntent";
80
82
  export * from "./polyxUnstakeIntent";
81
83
  export * from "./polyxWithdrawIntent";
@@ -92,6 +92,8 @@ __exportStar(require("./nearStakeIntent"), exports);
92
92
  __exportStar(require("./nearUnstakeIntent"), exports);
93
93
  __exportStar(require("./nearWithdrawIntent"), exports);
94
94
  __exportStar(require("./polyxBaseIntent"), exports);
95
+ __exportStar(require("./polyxCreateAccountIntent"), exports);
96
+ __exportStar(require("./polyxPreApproveAssetIntent"), exports);
95
97
  __exportStar(require("./polyxStakeIntent"), exports);
96
98
  __exportStar(require("./polyxUnstakeIntent"), exports);
97
99
  __exportStar(require("./polyxWithdrawIntent"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/schema/transactionRequest/intents/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,uDAAqC;AACrC,4DAA0C;AAC1C,iEAA+C;AAC/C,mEAAiD;AACjD,mEAAiD;AACjD,yDAAuC;AACvC,qDAAmC;AACnC,oDAAkC;AAClC,+DAA6C;AAC7C,mDAAiC;AACjC,qDAAmC;AACnC,4DAA0C;AAC1C,4CAA0B;AAC1B,2CAAyB;AACzB,sDAAoC;AACpC,sDAAoC;AACpC,oDAAkC;AAClC,sDAAoC;AACpC,uDAAqC;AACrC,kEAAgD;AAChD,6DAA2C;AAC3C,+CAA6B;AAC7B,oDAAkC;AAClC,gEAA8C;AAC9C,uDAAqC;AACrC,sDAAoC;AACpC,+DAA6C;AAC7C,wDAAsC;AACtC,gEAA8C;AAC9C,2DAAyC;AACzC,uDAAqC;AACrC,0DAAwC;AACxC,4DAA0C;AAC1C,wDAAsC;AACtC,sDAAoC;AACpC,gEAA8C;AAC9C,wDAAsC;AACtC,yDAAuC;AACvC,+DAA6C;AAC7C,kDAAgC;AAChC,yDAAuC;AACvC,2DAAyC;AACzC,wDAAsC;AACtC,kDAAgC;AAChC,qDAAmC;AACnC,6CAA2B;AAC3B,qDAAmC;AACnC,uDAAqC;AACrC,2DAAyC;AACzC,sDAAoC;AACpC,sDAAoC;AACpC,0DAAwC;AACxC,oDAAkC;AAClC,yDAAuC;AACvC,8DAA4C;AAC5C,uDAAqC;AACrC,uDAAqC;AACrC,qDAAmC;AACnC,qDAAmC;AACnC,2DAAyC;AACzC,6DAA2C;AAC3C,8CAA4B;AAC5B,qDAAmC;AACnC,qDAAmC;AACnC,kDAAgC;AAChC,oDAAkC;AAClC,8CAA4B;AAC5B,qDAAmC;AACnC,kDAAgC;AAChC,2CAAyB;AACzB,+CAA6B;AAC7B,2DAAyC;AACzC,yDAAuC;AACvC,6DAA2C;AAC3C,oDAAkC;AAClC,sDAAoC;AACpC,uDAAqC;AACrC,oDAAkC;AAClC,qDAAmC;AACnC,uDAAqC;AACrC,wDAAsC;AACtC,kDAAgC;AAChC,mDAAiC;AACjC,sDAAoC;AACpC,uDAAqC;AACrC,oDAAkC;AAClC,mDAAiC;AACjC,yEAAuD;AACvD,yDAAuC;AACvC,0EAAwD;AACxD,sDAAoC;AACpC,wDAAsC;AACtC,sDAAoC;AACpC,mDAAiC;AACjC,uDAAqC;AACrC,qDAAmC;AACnC,mDAAiC;AACjC,qDAAmC;AACnC,4DAA0C;AAC1C,gDAA8B;AAC9B,+DAA6C;AAC7C,qEAAmD;AACnD,wDAAsC;AACtC,+DAA6C;AAC7C,8DAA4C;AAC5C,wDAAsC;AACtC,2DAAyC;AACzC,yDAAuC;AACvC,mDAAiC;AACjC,6DAA2C;AAC3C,qDAAmC;AACnC,oDAAkC;AAClC,yDAAuC;AACvC,sDAAoC;AACpC,kDAAgC;AAChC,uDAAqC;AACrC,qDAAmC;AACnC,qDAAmC;AACnC,uDAAqC;AACrC,qEAAmD;AACnD,8CAA4B;AAC5B,oDAAkC;AAClC,wDAAsC;AACtC,4DAA0C;AAC1C,yDAAuC;AACvC,sDAAoC;AACpC,qDAAmC;AACnC,wDAAsC;AACtC,wDAAsC;AACtC,kDAAgC;AAChC,uEAAqD;AACrD,qDAAmC;AACnC,+DAA6C;AAC7C,yDAAuC;AACvC,yDAAuC;AACvC,wDAAsC;AACtC,2DAAyC;AACzC,yDAAuC;AACvC,mDAAiC;AACjC,wDAAsC;AACtC,uDAAqC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/schema/transactionRequest/intents/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,uDAAqC;AACrC,4DAA0C;AAC1C,iEAA+C;AAC/C,mEAAiD;AACjD,mEAAiD;AACjD,yDAAuC;AACvC,qDAAmC;AACnC,oDAAkC;AAClC,+DAA6C;AAC7C,mDAAiC;AACjC,qDAAmC;AACnC,4DAA0C;AAC1C,4CAA0B;AAC1B,2CAAyB;AACzB,sDAAoC;AACpC,sDAAoC;AACpC,oDAAkC;AAClC,sDAAoC;AACpC,uDAAqC;AACrC,kEAAgD;AAChD,6DAA2C;AAC3C,+CAA6B;AAC7B,oDAAkC;AAClC,gEAA8C;AAC9C,uDAAqC;AACrC,sDAAoC;AACpC,+DAA6C;AAC7C,wDAAsC;AACtC,gEAA8C;AAC9C,2DAAyC;AACzC,uDAAqC;AACrC,0DAAwC;AACxC,4DAA0C;AAC1C,wDAAsC;AACtC,sDAAoC;AACpC,gEAA8C;AAC9C,wDAAsC;AACtC,yDAAuC;AACvC,+DAA6C;AAC7C,kDAAgC;AAChC,yDAAuC;AACvC,2DAAyC;AACzC,wDAAsC;AACtC,kDAAgC;AAChC,qDAAmC;AACnC,6CAA2B;AAC3B,qDAAmC;AACnC,uDAAqC;AACrC,2DAAyC;AACzC,sDAAoC;AACpC,sDAAoC;AACpC,0DAAwC;AACxC,oDAAkC;AAClC,yDAAuC;AACvC,8DAA4C;AAC5C,uDAAqC;AACrC,uDAAqC;AACrC,qDAAmC;AACnC,qDAAmC;AACnC,2DAAyC;AACzC,6DAA2C;AAC3C,8CAA4B;AAC5B,qDAAmC;AACnC,qDAAmC;AACnC,kDAAgC;AAChC,oDAAkC;AAClC,8CAA4B;AAC5B,qDAAmC;AACnC,kDAAgC;AAChC,2CAAyB;AACzB,+CAA6B;AAC7B,2DAAyC;AACzC,yDAAuC;AACvC,6DAA2C;AAC3C,oDAAkC;AAClC,sDAAoC;AACpC,uDAAqC;AACrC,oDAAkC;AAClC,6DAA2C;AAC3C,+DAA6C;AAC7C,qDAAmC;AACnC,uDAAqC;AACrC,wDAAsC;AACtC,kDAAgC;AAChC,mDAAiC;AACjC,sDAAoC;AACpC,uDAAqC;AACrC,oDAAkC;AAClC,mDAAiC;AACjC,yEAAuD;AACvD,yDAAuC;AACvC,0EAAwD;AACxD,sDAAoC;AACpC,wDAAsC;AACtC,sDAAoC;AACpC,mDAAiC;AACjC,uDAAqC;AACrC,qDAAmC;AACnC,mDAAiC;AACjC,qDAAmC;AACnC,4DAA0C;AAC1C,gDAA8B;AAC9B,+DAA6C;AAC7C,qEAAmD;AACnD,wDAAsC;AACtC,+DAA6C;AAC7C,8DAA4C;AAC5C,wDAAsC;AACtC,2DAAyC;AACzC,yDAAuC;AACvC,mDAAiC;AACjC,6DAA2C;AAC3C,qDAAmC;AACnC,oDAAkC;AAClC,yDAAuC;AACvC,sDAAoC;AACpC,kDAAgC;AAChC,uDAAqC;AACrC,qDAAmC;AACnC,qDAAmC;AACnC,uDAAqC;AACrC,qEAAmD;AACnD,8CAA4B;AAC5B,oDAAkC;AAClC,wDAAsC;AACtC,4DAA0C;AAC1C,yDAAuC;AACvC,sDAAoC;AACpC,qDAAmC;AACnC,wDAAsC;AACtC,wDAAsC;AACtC,kDAAgC;AAChC,uEAAqD;AACrD,qDAAmC;AACnC,+DAA6C;AAC7C,yDAAuC;AACvC,yDAAuC;AACvC,wDAAsC;AACtC,2DAAyC;AACzC,yDAAuC;AACvC,mDAAiC;AACjC,wDAAsC;AACtC,uDAAqC"}
@@ -387,6 +387,10 @@ export declare const TransactionIntent: t.UnionC<[t.IntersectionC<[t.Intersectio
387
387
  aptosCustomTransactionParams: t.IntersectionC<[t.TypeC<{
388
388
  moduleName: t.StringC;
389
389
  functionName: t.StringC;
390
+ abi: t.TypeC<{
391
+ typeParameters: t.ArrayC<t.AnyC>;
392
+ parameters: t.ArrayC<t.AnyC>;
393
+ }>;
390
394
  }>, t.PartialC<{
391
395
  typeArguments: t.ArrayC<t.StringC>;
392
396
  functionArguments: t.ArrayC<t.AnyC>;
@@ -3032,22 +3036,11 @@ export declare const TransactionIntent: t.UnionC<[t.IntersectionC<[t.Intersectio
3032
3036
  type?: "max" | "base" | "tip" | undefined;
3033
3037
  }, unknown>, t.UndefinedC]>;
3034
3038
  }>]>, t.TypeC<{
3035
- intentType: t.LiteralC<"addTrustLine">;
3036
- recipients: t.ArrayC<t.IntersectionC<[t.TypeC<{
3037
- address: t.PartialC<{
3038
- address: t.UnionC<[t.Type<string, string, unknown>, t.UndefinedC]>;
3039
- option: t.UnionC<[t.Type<{
3040
- [x: string]: unknown;
3041
- }, {
3042
- [x: string]: unknown;
3043
- }, unknown>, t.UndefinedC]>;
3044
- }>;
3045
- amount: t.TypeC<{
3046
- value: t.StringC;
3047
- symbol: t.StringC;
3048
- }>;
3039
+ intentType: t.LiteralC<"enableToken">;
3040
+ enableTokens: t.ArrayC<t.IntersectionC<[t.TypeC<{
3041
+ name: t.StringC;
3049
3042
  }>, t.PartialC<{
3050
- data: t.UnionC<[t.Type<string, string, unknown>, t.UndefinedC]>;
3043
+ address: t.UnionC<[t.Type<string, string, unknown>, t.UndefinedC]>;
3051
3044
  }>]>>;
3052
3045
  }>, t.PartialC<{
3053
3046
  memo: t.UnionC<[t.Type<string, string, unknown>, t.UndefinedC]>;
@@ -58,22 +58,11 @@ export declare const PolyxPreApproveAssetIntent: t.IntersectionC<[t.Intersection
58
58
  type?: "max" | "base" | "tip" | undefined;
59
59
  }, unknown>, t.UndefinedC]>;
60
60
  }>]>, t.TypeC<{
61
- intentType: t.LiteralC<"addTrustLine">;
62
- recipients: t.ArrayC<t.IntersectionC<[t.TypeC<{
63
- address: t.PartialC<{
64
- address: t.UnionC<[t.Type<string, string, unknown>, t.UndefinedC]>;
65
- option: t.UnionC<[t.Type<{
66
- [x: string]: unknown;
67
- }, {
68
- [x: string]: unknown;
69
- }, unknown>, t.UndefinedC]>;
70
- }>;
71
- amount: t.TypeC<{
72
- value: t.StringC;
73
- symbol: t.StringC;
74
- }>;
61
+ intentType: t.LiteralC<"enableToken">;
62
+ enableTokens: t.ArrayC<t.IntersectionC<[t.TypeC<{
63
+ name: t.StringC;
75
64
  }>, t.PartialC<{
76
- data: t.UnionC<[t.Type<string, string, unknown>, t.UndefinedC]>;
65
+ address: t.UnionC<[t.Type<string, string, unknown>, t.UndefinedC]>;
77
66
  }>]>>;
78
67
  }>, t.PartialC<{
79
68
  memo: t.UnionC<[t.Type<string, string, unknown>, t.UndefinedC]>;
@@ -28,14 +28,14 @@ const t = __importStar(require("io-ts"));
28
28
  const baseIntent_1 = require("./baseIntent");
29
29
  const intentType_1 = require("./intentType");
30
30
  const substrateAccountBaseBuildOptions_1 = require("./substrateAccountBaseBuildOptions");
31
- const recipientEntry_1 = require("./recipientEntry");
31
+ const tokenEnablement_1 = require("./tokenEnablement");
32
32
  const utils_1 = require("../../../utils");
33
33
  exports.PolyxPreApproveAssetIntent = t.intersection([
34
34
  baseIntent_1.BaseIntent,
35
35
  substrateAccountBaseBuildOptions_1.SubstrateAccountBaseBuildOptions,
36
36
  t.type({
37
- intentType: intentType_1.intentTypes.addTrustLine,
38
- recipients: t.array(recipientEntry_1.RecipientEntry),
37
+ intentType: intentType_1.intentTypes.enableToken,
38
+ enableTokens: t.array(tokenEnablement_1.TokenEnablement),
39
39
  }),
40
40
  t.partial({
41
41
  memo: utils_1.optionalString,
@@ -1 +1 @@
1
- {"version":3,"file":"polyxPreApproveAssetIntent.js","sourceRoot":"","sources":["../../../../../src/schema/transactionRequest/intents/polyxPreApproveAssetIntent.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yCAA2B;AAC3B,6CAA0C;AAC1C,6CAA2C;AAC3C,yFAAsF;AACtF,qDAAkD;AAClD,0CAAgD;AAKnC,QAAA,0BAA0B,GAAG,CAAC,CAAC,YAAY,CAAC;IACvD,uBAAU;IACV,mEAAgC;IAChC,CAAC,CAAC,IAAI,CAAC;QACL,UAAU,EAAE,wBAAW,CAAC,YAAY;QACpC,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,+BAAc,CAAC;KACpC,CAAC;IACF,CAAC,CAAC,OAAO,CAAC;QACR,IAAI,EAAE,sBAAc;KACrB,CAAC;CACH,CAAC,CAAC"}
1
+ {"version":3,"file":"polyxPreApproveAssetIntent.js","sourceRoot":"","sources":["../../../../../src/schema/transactionRequest/intents/polyxPreApproveAssetIntent.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yCAA2B;AAC3B,6CAA0C;AAC1C,6CAA2C;AAC3C,yFAAsF;AACtF,uDAAoD;AACpD,0CAAgD;AAKnC,QAAA,0BAA0B,GAAG,CAAC,CAAC,YAAY,CAAC;IACvD,uBAAU;IACV,mEAAgC;IAChC,CAAC,CAAC,IAAI,CAAC;QACL,UAAU,EAAE,wBAAW,CAAC,WAAW;QACnC,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,iCAAe,CAAC;KACvC,CAAC;IACF,CAAC,CAAC,OAAO,CAAC;QACR,IAAI,EAAE,sBAAc;KACrB,CAAC;CACH,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bitgo/public-types",
3
- "version": "5.25.0",
3
+ "version": "5.26.0",
4
4
  "description": "Collection of types exposed externally as part of the BitGo public API",
5
5
  "license": "UNLICENSED",
6
6
  "author": "",
@@ -3,6 +3,12 @@ import { AptBuildOptions } from "./aptBuildOptions";
3
3
  import { BaseIntent } from "./baseIntent";
4
4
  import { intentTypes } from "./intentType";
5
5
 
6
+ // EntryFunctionABI codec for io-ts validation
7
+ const EntryFunctionABI = t.type({
8
+ typeParameters: t.array(t.any),
9
+ parameters: t.array(t.any),
10
+ });
11
+
6
12
  /**
7
13
  * @title APT Custom Transaction Intent
8
14
  */
@@ -15,6 +21,7 @@ export const AptCustomTxIntent = t.intersection([
15
21
  t.type({
16
22
  moduleName: t.string,
17
23
  functionName: t.string,
24
+ abi: EntryFunctionABI,
18
25
  }),
19
26
  t.partial({
20
27
  typeArguments: t.array(t.string),
@@ -76,6 +76,8 @@ export * from "./nearStakeIntent";
76
76
  export * from "./nearUnstakeIntent";
77
77
  export * from "./nearWithdrawIntent";
78
78
  export * from "./polyxBaseIntent";
79
+ export * from "./polyxCreateAccountIntent";
80
+ export * from "./polyxPreApproveAssetIntent";
79
81
  export * from "./polyxStakeIntent";
80
82
  export * from "./polyxUnstakeIntent";
81
83
  export * from "./polyxWithdrawIntent";
@@ -2,7 +2,7 @@ import * as t from "io-ts";
2
2
  import { BaseIntent } from "./baseIntent";
3
3
  import { intentTypes } from "./intentType";
4
4
  import { SubstrateAccountBaseBuildOptions } from "./substrateAccountBaseBuildOptions";
5
- import { RecipientEntry } from "./recipientEntry";
5
+ import { TokenEnablement } from "./tokenEnablement";
6
6
  import { optionalString } from "../../../utils";
7
7
 
8
8
  /**
@@ -12,8 +12,8 @@ export const PolyxPreApproveAssetIntent = t.intersection([
12
12
  BaseIntent,
13
13
  SubstrateAccountBaseBuildOptions,
14
14
  t.type({
15
- intentType: intentTypes.addTrustLine,
16
- recipients: t.array(RecipientEntry),
15
+ intentType: intentTypes.enableToken,
16
+ enableTokens: t.array(TokenEnablement),
17
17
  }),
18
18
  t.partial({
19
19
  memo: optionalString,