@bitgo/public-types 6.81.0 → 6.82.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.
@@ -36,6 +36,7 @@ const signatureShare_1 = require("./signatureShare");
36
36
  const unsignedTransaction_1 = require("./unsignedTransaction");
37
37
  const message_1 = require("./message");
38
38
  const transaction_1 = require("./transaction");
39
+ const txChannel_1 = require("./txChannel");
39
40
  exports.TransactionRequestId = t.string;
40
41
  exports.TransactionRequestIdNonEmptyString = io_ts_types_1.NonEmptyString;
41
42
  exports.TransactionRequestBase = t.intersection([
@@ -57,10 +58,14 @@ exports.TransactionRequestBase = t.intersection([
57
58
  idempotencyKey: t.string,
58
59
  walletType: walletTypes_1.WalletTypes,
59
60
  enterpriseId: enterprise_1.EnterpriseIdString,
61
+ organizationId: t.string,
60
62
  intent: t.unknown,
61
63
  pendingApprovalId: t.string,
62
64
  policiesChecked: t.boolean,
63
65
  isCanceled: t.boolean,
66
+ cancelReason: t.string,
67
+ initiatedByDAppClient: t.boolean,
68
+ txChannel: txChannel_1.TxChannel,
64
69
  }),
65
70
  ]);
66
71
  exports.TransactionRequestLite = t.intersection([
@@ -1 +1 @@
1
- {"version":3,"file":"transactionRequest.js","sourceRoot":"","sources":["../../../../src/schema/transactionRequest/transactionRequest.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yCAA2B;AAC3B,6CAAgE;AAChE,sCAA2C;AAC3C,uDAAoD;AACpD,8CAAmD;AACnD,wBAA+D;AAC/D,iFAA8E;AAC9E,uDAAoD;AACpD,qDAAkD;AAClD,+DAA4D;AAC5D,uCAAoC;AACpC,+CAA4C;AAM/B,QAAA,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;AAQhC,QAAA,kCAAkC,GAAG,4BAAc,CAAC;AAMpD,QAAA,sBAAsB,GAAG,CAAC,CAAC,YAAY,CAAC;IAEnD,CAAC,CAAC,IAAI,CAAC;QAEL,WAAW,EAAE,4BAAoB;QAEjC,QAAQ,EAAE,uBAAc;QAExB,OAAO,EAAE,CAAC,CAAC,MAAM;QAEjB,KAAK,EAAE,0BAAuB;QAK9B,IAAI,EAAE,+BAAiB;QAKvB,WAAW,EAAE,+BAAiB;QAE9B,MAAM,EAAE,CAAC,CAAC,MAAM;QAEhB,WAAW,EAAE,CAAC,CAAC,MAAM;QAErB,SAAS,EAAE,CAAC,CAAC,MAAM;QAEnB,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC;QAE3B,MAAM,EAAE,CAAC,CAAC,OAAO;KAClB,CAAC;IAEF,CAAC,CAAC,OAAO,CAAC;QAER,UAAU,EAAE,2DAA4B;QAExC,cAAc,EAAE,CAAC,CAAC,MAAM;QAExB,UAAU,EAAE,yBAAW;QAEvB,YAAY,EAAE,+BAAkB;QAEhC,MAAM,EAAE,CAAC,CAAC,OAAO;QAEjB,iBAAiB,EAAE,CAAC,CAAC,MAAM;QAE3B,eAAe,EAAE,CAAC,CAAC,OAAO;QAE1B,UAAU,EAAE,CAAC,CAAC,OAAO;KACtB,CAAC;CACH,CAAC,CAAC;AAEU,QAAA,sBAAsB,GAAG,CAAC,CAAC,YAAY,CAAC;IACnD,8BAAsB;IACtB,CAAC,CAAC,OAAO,CAAC;QAER,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,oBAAiB,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;QAE/C,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,yCAAmB,CAAC;QAEzC,eAAe,EAAE,CAAC,CAAC,KAAK,CAAC,+BAAc,CAAC;QAExC,gBAAgB,EAAE,CAAC,CAAC,KAAK,CAAC,iCAAe,CAAC;QAE1C,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;KAC5B,CAAC;CACH,CAAC,CAAC;AAGU,QAAA,sBAAsB,GAAG,CAAC,CAAC,YAAY,CAAC;IACnD,8BAAsB;IACtB,CAAC,CAAC,OAAO,CAAC;QAER,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,yBAAW,CAAC;QAElC,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,iBAAO,CAAC;KAC3B,CAAC;CACH,CAAC,CAAC;AAGU,QAAA,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC;IACxC,8BAAsB;IACtB,8BAAsB;CACvB,CAAC,CAAC"}
1
+ {"version":3,"file":"transactionRequest.js","sourceRoot":"","sources":["../../../../src/schema/transactionRequest/transactionRequest.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yCAA2B;AAC3B,6CAAgE;AAChE,sCAA2C;AAC3C,uDAAoD;AACpD,8CAAmD;AACnD,wBAA+D;AAC/D,iFAA8E;AAC9E,uDAAoD;AACpD,qDAAkD;AAClD,+DAA4D;AAC5D,uCAAoC;AACpC,+CAA4C;AAC5C,2CAAwC;AAK3B,QAAA,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;AAQhC,QAAA,kCAAkC,GAAG,4BAAc,CAAC;AAMpD,QAAA,sBAAsB,GAAG,CAAC,CAAC,YAAY,CAAC;IAEnD,CAAC,CAAC,IAAI,CAAC;QAEL,WAAW,EAAE,4BAAoB;QAEjC,QAAQ,EAAE,uBAAc;QAExB,OAAO,EAAE,CAAC,CAAC,MAAM;QAEjB,KAAK,EAAE,0BAAuB;QAK9B,IAAI,EAAE,+BAAiB;QAKvB,WAAW,EAAE,+BAAiB;QAE9B,MAAM,EAAE,CAAC,CAAC,MAAM;QAEhB,WAAW,EAAE,CAAC,CAAC,MAAM;QAErB,SAAS,EAAE,CAAC,CAAC,MAAM;QAEnB,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC;QAE3B,MAAM,EAAE,CAAC,CAAC,OAAO;KAClB,CAAC;IAEF,CAAC,CAAC,OAAO,CAAC;QAER,UAAU,EAAE,2DAA4B;QAExC,cAAc,EAAE,CAAC,CAAC,MAAM;QAGxB,UAAU,EAAE,yBAAW;QAEvB,YAAY,EAAE,+BAAkB;QAEhC,cAAc,EAAE,CAAC,CAAC,MAAM;QAExB,MAAM,EAAE,CAAC,CAAC,OAAO;QAEjB,iBAAiB,EAAE,CAAC,CAAC,MAAM;QAG3B,eAAe,EAAE,CAAC,CAAC,OAAO;QAE1B,UAAU,EAAE,CAAC,CAAC,OAAO;QAErB,YAAY,EAAE,CAAC,CAAC,MAAM;QAEtB,qBAAqB,EAAE,CAAC,CAAC,OAAO;QAEhC,SAAS,EAAE,qBAAS;KACrB,CAAC;CACH,CAAC,CAAC;AAEU,QAAA,sBAAsB,GAAG,CAAC,CAAC,YAAY,CAAC;IACnD,8BAAsB;IACtB,CAAC,CAAC,OAAO,CAAC;QAER,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,oBAAiB,EAAE,CAAC,CAAC,OAAO,CAAC,CAAoB;QAElE,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,yCAAmB,CAAC;QAEzC,eAAe,EAAE,CAAC,CAAC,KAAK,CAAC,+BAAc,CAAC;QAExC,gBAAgB,EAAE,CAAC,CAAC,KAAK,CAAC,iCAAe,CAAC;QAE1C,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;KAC5B,CAAC;CACH,CAAC,CAAC;AAGU,QAAA,sBAAsB,GAAG,CAAC,CAAC,YAAY,CAAC;IACnD,8BAAsB;IACtB,CAAC,CAAC,OAAO,CAAC;QAER,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,yBAAW,CAAC;QAElC,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,iBAAO,CAAC;KAC3B,CAAC;CACH,CAAC,CAAC;AAGU,QAAA,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC;IACxC,8BAAsB;IACtB,8BAAsB;CACvB,CAAC,CAAC"}
@@ -0,0 +1,55 @@
1
+ import * as t from "io-ts";
2
+ export declare const TxChannelType: t.KeyofC<{
3
+ defi: number;
4
+ }>;
5
+ export type TxChannelType = t.TypeOf<typeof TxChannelType>;
6
+ export declare const TxChannelSource: t.KeyofC<{
7
+ internal: number;
8
+ external: number;
9
+ }>;
10
+ export type TxChannelSource = t.TypeOf<typeof TxChannelSource>;
11
+ export declare const TxChannelConnector: t.KeyofC<{
12
+ narval: number;
13
+ walletconnect: number;
14
+ }>;
15
+ export type TxChannelConnector = t.TypeOf<typeof TxChannelConnector>;
16
+ export declare const TxChannelProtocol: t.KeyofC<{
17
+ morpho: number;
18
+ aave: number;
19
+ concrete: number;
20
+ }>;
21
+ export type TxChannelProtocol = t.TypeOf<typeof TxChannelProtocol>;
22
+ export declare const TxChannelDefiAction: t.KeyofC<{
23
+ approve: number;
24
+ deposit: number;
25
+ withdraw: number;
26
+ }>;
27
+ export type TxChannelDefiAction = t.TypeOf<typeof TxChannelDefiAction>;
28
+ export declare const TxChannel: t.IntersectionC<[t.TypeC<{
29
+ type: t.KeyofC<{
30
+ defi: number;
31
+ }>;
32
+ source: t.KeyofC<{
33
+ internal: number;
34
+ external: number;
35
+ }>;
36
+ }>, t.PartialC<{
37
+ connector: t.KeyofC<{
38
+ narval: number;
39
+ walletconnect: number;
40
+ }>;
41
+ protocol: t.KeyofC<{
42
+ morpho: number;
43
+ aave: number;
44
+ concrete: number;
45
+ }>;
46
+ defiAction: t.KeyofC<{
47
+ approve: number;
48
+ deposit: number;
49
+ withdraw: number;
50
+ }>;
51
+ vaultId: t.StringC;
52
+ clientId: t.StringC;
53
+ walletConnectRequestId: t.StringC;
54
+ }>]>;
55
+ export type TxChannel = t.TypeOf<typeof TxChannel>;
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.TxChannel = exports.TxChannelDefiAction = exports.TxChannelProtocol = exports.TxChannelConnector = exports.TxChannelSource = exports.TxChannelType = void 0;
27
+ const t = __importStar(require("io-ts"));
28
+ exports.TxChannelType = t.keyof({ defi: 1 }, "TxChannelType");
29
+ exports.TxChannelSource = t.keyof({ internal: 1, external: 1 }, "TxChannelSource");
30
+ exports.TxChannelConnector = t.keyof({ narval: 1, walletconnect: 1 }, "TxChannelConnector");
31
+ exports.TxChannelProtocol = t.keyof({ morpho: 1, aave: 1, concrete: 1 }, "TxChannelProtocol");
32
+ exports.TxChannelDefiAction = t.keyof({ approve: 1, deposit: 1, withdraw: 1 }, "TxChannelDefiAction");
33
+ exports.TxChannel = t.intersection([
34
+ t.type({
35
+ type: exports.TxChannelType,
36
+ source: exports.TxChannelSource,
37
+ }),
38
+ t.partial({
39
+ connector: exports.TxChannelConnector,
40
+ protocol: exports.TxChannelProtocol,
41
+ defiAction: exports.TxChannelDefiAction,
42
+ vaultId: t.string,
43
+ clientId: t.string,
44
+ walletConnectRequestId: t.string,
45
+ }),
46
+ ]);
47
+ //# sourceMappingURL=txChannel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"txChannel.js","sourceRoot":"","sources":["../../../../src/schema/transactionRequest/txChannel.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yCAA2B;AAEd,QAAA,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,eAAe,CAAC,CAAC;AAGtD,QAAA,eAAe,GAAG,CAAC,CAAC,KAAK,CACpC,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,EAC5B,iBAAiB,CAClB,CAAC;AAGW,QAAA,kBAAkB,GAAG,CAAC,CAAC,KAAK,CACvC,EAAE,MAAM,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,EAC/B,oBAAoB,CACrB,CAAC;AAIW,QAAA,iBAAiB,GAAG,CAAC,CAAC,KAAK,CACtC,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,EACnC,mBAAmB,CACpB,CAAC;AAGW,QAAA,mBAAmB,GAAG,CAAC,CAAC,KAAK,CACxC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,EACvC,qBAAqB,CACtB,CAAC;AAIW,QAAA,SAAS,GAAG,CAAC,CAAC,YAAY,CAAC;IACtC,CAAC,CAAC,IAAI,CAAC;QACL,IAAI,EAAE,qBAAa;QACnB,MAAM,EAAE,uBAAe;KACxB,CAAC;IACF,CAAC,CAAC,OAAO,CAAC;QAER,SAAS,EAAE,0BAAkB;QAE7B,QAAQ,EAAE,yBAAiB;QAC3B,UAAU,EAAE,2BAAmB;QAC/B,OAAO,EAAE,CAAC,CAAC,MAAM;QAEjB,QAAQ,EAAE,CAAC,CAAC,MAAM;QAElB,sBAAsB,EAAE,CAAC,CAAC,MAAM;KACjC,CAAC;CACH,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bitgo/public-types",
3
- "version": "6.81.0",
3
+ "version": "6.82.0",
4
4
  "description": "Collection of types exposed externally as part of the BitGo public API",
5
5
  "license": "UNLICENSED",
6
6
  "author": "",
@@ -2,6 +2,7 @@ export * from "./transactionState";
2
2
  export * from "./transactionRequestState";
3
3
  export * from "./intents";
4
4
  export * from "./transactionRequest";
5
+ export * from "./txChannel";
5
6
  export * from "./transactionRequestApiVersion";
6
7
  export * from "./commitmentShare";
7
8
  export * from "./signatureShare";
@@ -10,7 +10,7 @@ import { SignatureShare } from "./signatureShare";
10
10
  import { UnsignedTransaction } from "./unsignedTransaction";
11
11
  import { Message } from "./message";
12
12
  import { Transaction } from "./transaction";
13
-
13
+ import { TxChannel } from "./txChannel";
14
14
  /**
15
15
  * @format uuid
16
16
  * @example 123e4567-e89b-12d3-a456-426614174000
@@ -67,18 +67,28 @@ export const TransactionRequestBase = t.intersection([
67
67
  apiVersion: TransactionRequestApiVersion,
68
68
  /** The idempotency key of the transaction request */
69
69
  idempotencyKey: t.string,
70
+ // todo BG-54028: mark as required once this has been backfilled
70
71
  /** The type describes who owns the keys to the wallet associated to the TxRequest. */
71
72
  walletType: WalletTypes,
72
73
  /** If the wallet that owns the TxRequest is owned by an enterprise then this is the Id of said enterprise. */
73
74
  enterpriseId: EnterpriseIdString,
75
+ /** The id of the organization the TxRequest's wallet belongs to. */
76
+ organizationId: t.string,
74
77
  /** The intent of the transaction request */
75
78
  intent: t.unknown,
76
79
  /** The id of the Pending Approval that was created for the TxRequest if one was required. */
77
80
  pendingApprovalId: t.string,
81
+ // todo BG-54028: mark as required once this has been backfilled
78
82
  /** Indicates if the transaction request has been checked against the policies. */
79
83
  policiesChecked: t.boolean,
80
84
  /** True, if the transaction request is canceled. */
81
85
  isCanceled: t.boolean,
86
+ /** The reason the transaction request was canceled, if applicable. */
87
+ cancelReason: t.string,
88
+ /** True when the txRequest was initiated by a dApp OAuth client (e.g. Narval). */
89
+ initiatedByDAppClient: t.boolean,
90
+ /** Immutable DeFi / marketplace channel classification (DEFI-300). */
91
+ txChannel: TxChannel,
82
92
  }),
83
93
  ]);
84
94
 
@@ -86,7 +96,7 @@ export const TransactionRequestLite = t.intersection([
86
96
  TransactionRequestBase,
87
97
  t.partial({
88
98
  /** The intent of the transaction request */
89
- intent: t.union([TransactionIntent, t.unknown]),
99
+ intent: t.union([TransactionIntent, t.unknown]) as t.Type<unknown>,
90
100
  /** Holds all unsigned transactions that will be used to fulfill the TxRequest for MPC wallets. */
91
101
  unsignedTxs: t.array(UnsignedTransaction),
92
102
  /** Only used for MPC coins. This is used to collect signature shares from and exchange them with the user. */
@@ -0,0 +1,50 @@
1
+ import * as t from "io-ts";
2
+
3
+ export const TxChannelType = t.keyof({ defi: 1 }, "TxChannelType");
4
+ export type TxChannelType = t.TypeOf<typeof TxChannelType>;
5
+
6
+ export const TxChannelSource = t.keyof(
7
+ { internal: 1, external: 1 },
8
+ "TxChannelSource",
9
+ );
10
+ export type TxChannelSource = t.TypeOf<typeof TxChannelSource>;
11
+
12
+ export const TxChannelConnector = t.keyof(
13
+ { narval: 1, walletconnect: 1 },
14
+ "TxChannelConnector",
15
+ );
16
+ export type TxChannelConnector = t.TypeOf<typeof TxChannelConnector>;
17
+
18
+ /** DeFi protocol. aave/concrete are forward-compat stubs (not stamped by classifiers yet). */
19
+ export const TxChannelProtocol = t.keyof(
20
+ { morpho: 1, aave: 1, concrete: 1 },
21
+ "TxChannelProtocol",
22
+ );
23
+ export type TxChannelProtocol = t.TypeOf<typeof TxChannelProtocol>;
24
+
25
+ export const TxChannelDefiAction = t.keyof(
26
+ { approve: 1, deposit: 1, withdraw: 1 },
27
+ "TxChannelDefiAction",
28
+ );
29
+ export type TxChannelDefiAction = t.TypeOf<typeof TxChannelDefiAction>;
30
+
31
+ /** Immutable classification of how a txRequest entered BitGo (DEFI-300). */
32
+ export const TxChannel = t.intersection([
33
+ t.type({
34
+ type: TxChannelType,
35
+ source: TxChannelSource,
36
+ }),
37
+ t.partial({
38
+ /** External entry connector (narval, walletconnect). Omitted for internal BitGo flows. */
39
+ connector: TxChannelConnector,
40
+ /** DeFi protocol (morpho, aave, concrete). */
41
+ protocol: TxChannelProtocol,
42
+ defiAction: TxChannelDefiAction,
43
+ vaultId: t.string,
44
+ /** OAuth dApp client id (Narval). */
45
+ clientId: t.string,
46
+ /** defi-service walletconnect_requests.id when supplied on the intent. */
47
+ walletConnectRequestId: t.string,
48
+ }),
49
+ ]);
50
+ export type TxChannel = t.TypeOf<typeof TxChannel>;