@heliofi/common 0.2.276-alpha.1782827110 → 0.2.277-alpha.1782835450
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.
- package/dist/src/domain/model/broadcast/broadcast.spec.js +25 -0
- package/dist/src/domain/model/broadcast/broadcast.spec.js.map +1 -1
- package/dist/src/domain/model/broadcast/constants/SignedTransactionKind.d.ts +2 -1
- package/dist/src/domain/model/broadcast/constants/SignedTransactionKind.js +1 -0
- package/dist/src/domain/model/broadcast/constants/SignedTransactionKind.js.map +1 -1
- package/dist/src/domain/model/broadcast/entities/SignedTransaction.d.ts +16 -3
- package/dist/src/domain/model/withdraw/constants/SmartWalletKind.d.ts +1 -0
- package/dist/src/domain/model/withdraw/constants/SmartWalletKind.js +1 -0
- package/dist/src/domain/model/withdraw/constants/SmartWalletKind.js.map +1 -1
- package/dist/src/domain/model/withdraw/constants/WithdrawalKind.d.ts +2 -1
- package/dist/src/domain/model/withdraw/constants/WithdrawalKind.js +1 -0
- package/dist/src/domain/model/withdraw/constants/WithdrawalKind.js.map +1 -1
- package/dist/src/domain/model/withdraw/dtos/preparedTransaction.dto.d.ts +13 -3
- package/dist/src/domain/model/withdraw/preparedTransaction.spec.js +35 -0
- package/dist/src/domain/model/withdraw/preparedTransaction.spec.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +3 -18
- package/dist/withdraw.d.ts +0 -7
- package/dist/withdraw.js +0 -18
- package/dist/withdraw.js.map +0 -1
- package/withdraw.ts +0 -9
|
@@ -52,6 +52,29 @@ describe('SignedTransaction discriminated union', () => {
|
|
|
52
52
|
throw new Error('expected POLYMARKET_WALLET narrowing');
|
|
53
53
|
}
|
|
54
54
|
});
|
|
55
|
+
it('narrows hypercore → action fields + signature', () => {
|
|
56
|
+
const tx = {
|
|
57
|
+
kind: index_1.SignedTransactionKind.HYPERCORE,
|
|
58
|
+
chain: BlockchainSymbol_1.DepositBlockchainSymbol.HYPERCORE,
|
|
59
|
+
action: 'sendAsset',
|
|
60
|
+
senderAddress: '0xowner',
|
|
61
|
+
destination: '0xdest',
|
|
62
|
+
token: 'USDC:0x',
|
|
63
|
+
amount: '5.0',
|
|
64
|
+
time: 1780322547000,
|
|
65
|
+
sourceDex: '',
|
|
66
|
+
destinationDex: '',
|
|
67
|
+
signature: '0xsignature',
|
|
68
|
+
};
|
|
69
|
+
if (tx.kind === index_1.SignedTransactionKind.HYPERCORE) {
|
|
70
|
+
expect(tx.action).toBe('sendAsset');
|
|
71
|
+
expect(tx.sourceDex).toBe('');
|
|
72
|
+
expect(tx.signature).toBe('0xsignature');
|
|
73
|
+
}
|
|
74
|
+
else {
|
|
75
|
+
throw new Error('expected HYPERCORE narrowing');
|
|
76
|
+
}
|
|
77
|
+
});
|
|
55
78
|
it('exhaustive switch over SignedTransactionKind compiles', () => {
|
|
56
79
|
const describeKind = (tx) => {
|
|
57
80
|
switch (tx.kind) {
|
|
@@ -61,6 +84,8 @@ describe('SignedTransaction discriminated union', () => {
|
|
|
61
84
|
return tx.entryPoint;
|
|
62
85
|
case index_1.SignedTransactionKind.POLYMARKET_WALLET:
|
|
63
86
|
return tx.signature;
|
|
87
|
+
case index_1.SignedTransactionKind.HYPERCORE:
|
|
88
|
+
return tx.signature;
|
|
64
89
|
default: {
|
|
65
90
|
const exhaustive = tx;
|
|
66
91
|
return exhaustive;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"broadcast.spec.js","sourceRoot":"","sources":["../../../../../src/domain/model/broadcast/broadcast.spec.ts"],"names":[],"mappings":";;AAAA,+
|
|
1
|
+
{"version":3,"file":"broadcast.spec.js","sourceRoot":"","sources":["../../../../../src/domain/model/broadcast/broadcast.spec.ts"],"names":[],"mappings":";;AAAA,+EAGkD;AAClD,qEAAkE;AAClE,mCAMiB;AAEjB,QAAQ,CAAC,uCAAuC,EAAE,GAAG,EAAE;IACrD,EAAE,CAAC,qBAAqB,EAAE,GAAG,EAAE;QAC7B,MAAM,EAAE,GAAsB;YAC5B,IAAI,EAAE,6BAAqB,CAAC,GAAG;YAC/B,KAAK,EAAE,mCAAgB,CAAC,OAAO;YAC/B,KAAK,EAAE,YAAY;SACpB,CAAC;QACF,IAAI,EAAE,CAAC,IAAI,KAAK,6BAAqB,CAAC,GAAG,EAAE,CAAC;YAC1C,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACtC,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;QAC9C,MAAM,EAAE,GAAsB;YAC5B,IAAI,EAAE,6BAAqB,CAAC,OAAO;YACnC,KAAK,EAAE,mCAAgB,CAAC,OAAO;YAC/B,MAAM,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE;YAC3C,UAAU,EAAE,cAAc;SAC3B,CAAC;QACF,IAAI,EAAE,CAAC,IAAI,KAAK,6BAAqB,CAAC,OAAO,EAAE,CAAC;YAC9C,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAC3C,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;QACjE,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAChD,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4DAA4D,EAAE,GAAG,EAAE;QACpE,MAAM,EAAE,GAAsB;YAC5B,IAAI,EAAE,6BAAqB,CAAC,iBAAiB;YAC7C,KAAK,EAAE,mCAAgB,CAAC,OAAO;YAC/B,QAAQ,EAAE,SAAS;YACnB,aAAa,EAAE,MAAM;YACrB,KAAK,EAAE,GAAG;YACV,QAAQ,EAAE,YAAY;YACtB,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;YAC/D,SAAS,EAAE,aAAa;SACzB,CAAC;QACF,IAAI,EAAE,CAAC,IAAI,KAAK,6BAAqB,CAAC,iBAAiB,EAAE,CAAC;YACxD,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACjC,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YACzC,MAAM,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACxC,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;QACvD,MAAM,EAAE,GAAsB;YAC5B,IAAI,EAAE,6BAAqB,CAAC,SAAS;YACrC,KAAK,EAAE,0CAAuB,CAAC,SAAS;YACxC,MAAM,EAAE,WAAW;YACnB,aAAa,EAAE,SAAS;YACxB,WAAW,EAAE,QAAQ;YACrB,KAAK,EAAE,SAAS;YAChB,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,aAAa;YACnB,SAAS,EAAE,EAAE;YACb,cAAc,EAAE,EAAE;YAClB,SAAS,EAAE,aAAa;SACzB,CAAC;QACF,IAAI,EAAE,CAAC,IAAI,KAAK,6BAAqB,CAAC,SAAS,EAAE,CAAC;YAChD,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACpC,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC9B,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC3C,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAClD,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;QAC/D,MAAM,YAAY,GAAG,CAAC,EAAqB,EAAU,EAAE;YACrD,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC;gBAChB,KAAK,6BAAqB,CAAC,GAAG;oBAC5B,OAAO,EAAE,CAAC,KAAK,CAAC;gBAClB,KAAK,6BAAqB,CAAC,OAAO;oBAChC,OAAO,EAAE,CAAC,UAAU,CAAC;gBACvB,KAAK,6BAAqB,CAAC,iBAAiB;oBAC1C,OAAO,EAAE,CAAC,SAAS,CAAC;gBACtB,KAAK,6BAAqB,CAAC,SAAS;oBAClC,OAAO,EAAE,CAAC,SAAS,CAAC;gBACtB,OAAO,CAAC,CAAC,CAAC;oBACR,MAAM,UAAU,GAAU,EAAE,CAAC;oBAC7B,OAAO,UAAU,CAAC;gBACpB,CAAC;YACH,CAAC;QACH,CAAC,CAAC;QACF,MAAM,GAAG,GAAsB;YAC7B,IAAI,EAAE,6BAAqB,CAAC,GAAG;YAC/B,KAAK,EAAE,mCAAgB,CAAC,GAAG;YAC3B,KAAK,EAAE,YAAY;SACpB,CAAC;QACF,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,qCAAqC,EAAE,GAAG,EAAE;IACnD,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;QACvC,MAAM,MAAM,GAAoB;YAC9B,GAAG,EAAE,2BAAY,CAAC,YAAY;YAC9B,MAAM,EAAE,QAAQ;SACjB,CAAC;QACF,IAAI,MAAM,CAAC,GAAG,KAAK,2BAAY,CAAC,YAAY,EAAE,CAAC;YAC7C,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACvC,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;QACrD,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;QACjD,MAAM,MAAM,GAAoB;YAC9B,GAAG,EAAE,2BAAY,CAAC,cAAc;YAChC,cAAc,EAAE,YAAY;SAC7B,CAAC;QACF,IAAI,MAAM,CAAC,GAAG,KAAK,2BAAY,CAAC,cAAc,EAAE,CAAC;YAC/C,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACnD,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACvD,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;QAC1C,MAAM,MAAM,GAAoB;YAC9B,GAAG,EAAE,2BAAY,CAAC,QAAQ;YAC1B,IAAI,EAAE,0BAAkB,CAAC,aAAa;YACtC,MAAM,EAAE,+BAA+B;SACxC,CAAC;QACF,IAAI,MAAM,CAAC,GAAG,KAAK,2BAAY,CAAC,QAAQ,EAAE,CAAC;YACzC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,0BAAkB,CAAC,aAAa,CAAC,CAAC;YAC3D,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;QAC9D,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;QACjD,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;QACtD,MAAM,cAAc,GAAG,CAAC,CAAkB,EAAU,EAAE;YACpD,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAC;gBACd,KAAK,2BAAY,CAAC,YAAY;oBAC5B,OAAO,CAAC,CAAC,MAAM,CAAC;gBAClB,KAAK,2BAAY,CAAC,cAAc;oBAC9B,OAAO,CAAC,CAAC,cAAc,CAAC;gBAC1B,KAAK,2BAAY,CAAC,QAAQ;oBACxB,OAAO,CAAC,CAAC,IAAI,CAAC;gBAChB,OAAO,CAAC,CAAC,CAAC;oBACR,MAAM,UAAU,GAAU,CAAC,CAAC;oBAC5B,OAAO,UAAU,CAAC;gBACpB,CAAC;YACH,CAAC;QACH,CAAC,CAAC;QACF,MAAM,GAAG,GAAoB;YAC3B,GAAG,EAAE,2BAAY,CAAC,YAAY;YAC9B,MAAM,EAAE,QAAQ;SACjB,CAAC;QACF,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,iDAAiD,EAAE,GAAG,EAAE;IAC/D,EAAE,CAAC,oEAAoE,EAAE,GAAG,EAAE;QAC5E,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,0BAAkB,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CACtD;YACE,eAAe;YACf,mBAAmB;YACnB,mBAAmB;YACnB,kBAAkB;YAClB,mBAAmB;YACnB,eAAe;YACf,wBAAwB;YACxB,aAAa;YACb,gBAAgB;SACjB,CAAC,IAAI,EAAE,CACT,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC7B,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;QACvD,MAAM,CAAC,IAAA,qBAAa,EAAC,0BAAkB,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvE,MAAM,CAAC,IAAA,qBAAa,EAAC,0BAAkB,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;QACvC,MAAM,CAAC,IAAA,qBAAa,EAAC,0BAAkB,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvE,MAAM,CAAC,IAAA,qBAAa,EAAC,0BAAkB,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpE,MAAM,CAAC,IAAA,qBAAa,EAAC,0BAAkB,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC1E,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -6,5 +6,6 @@ var SignedTransactionKind;
|
|
|
6
6
|
SignedTransactionKind["RAW"] = "raw";
|
|
7
7
|
SignedTransactionKind["USER_OP"] = "userop";
|
|
8
8
|
SignedTransactionKind["POLYMARKET_WALLET"] = "polymarket_wallet";
|
|
9
|
+
SignedTransactionKind["HYPERCORE"] = "hypercore";
|
|
9
10
|
})(SignedTransactionKind || (exports.SignedTransactionKind = SignedTransactionKind = {}));
|
|
10
11
|
//# sourceMappingURL=SignedTransactionKind.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SignedTransactionKind.js","sourceRoot":"","sources":["../../../../../../src/domain/model/broadcast/constants/SignedTransactionKind.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"SignedTransactionKind.js","sourceRoot":"","sources":["../../../../../../src/domain/model/broadcast/constants/SignedTransactionKind.ts"],"names":[],"mappings":";;;AAWA,IAAY,qBAKX;AALD,WAAY,qBAAqB;IAC/B,oCAAW,CAAA;IACX,2CAAkB,CAAA;IAClB,gEAAuC,CAAA;IACvC,gDAAuB,CAAA;AACzB,CAAC,EALW,qBAAqB,qCAArB,qBAAqB,QAKhC"}
|
|
@@ -1,11 +1,24 @@
|
|
|
1
|
-
import { BlockchainSymbol } from '../../blockchain/constants/BlockchainSymbol';
|
|
1
|
+
import { BlockchainSymbol, DepositBlockchainSymbol } from '../../blockchain/constants/BlockchainSymbol';
|
|
2
2
|
import { SignedTransactionKind } from '../constants/SignedTransactionKind';
|
|
3
|
-
export type SignedTransaction = RawSignedTransaction | UserOpSignedTransaction | PolymarketWalletSignedTransaction;
|
|
3
|
+
export type SignedTransaction = RawSignedTransaction | UserOpSignedTransaction | PolymarketWalletSignedTransaction | HypercoreSignedTransaction;
|
|
4
4
|
export interface RawSignedTransaction {
|
|
5
5
|
kind: SignedTransactionKind.RAW;
|
|
6
|
-
chain: BlockchainSymbol;
|
|
6
|
+
chain: BlockchainSymbol | DepositBlockchainSymbol;
|
|
7
7
|
bytes: string;
|
|
8
8
|
}
|
|
9
|
+
export interface HypercoreSignedTransaction {
|
|
10
|
+
kind: SignedTransactionKind.HYPERCORE;
|
|
11
|
+
chain: BlockchainSymbol | DepositBlockchainSymbol;
|
|
12
|
+
action: string;
|
|
13
|
+
senderAddress: string;
|
|
14
|
+
destination: string;
|
|
15
|
+
token: string;
|
|
16
|
+
amount: string;
|
|
17
|
+
time: number;
|
|
18
|
+
sourceDex: string;
|
|
19
|
+
destinationDex: string;
|
|
20
|
+
signature: string;
|
|
21
|
+
}
|
|
9
22
|
export interface UserOpSignedTransaction {
|
|
10
23
|
kind: SignedTransactionKind.USER_OP;
|
|
11
24
|
chain: BlockchainSymbol;
|
|
@@ -6,6 +6,7 @@ var SmartWalletKind;
|
|
|
6
6
|
SmartWalletKind["SAFE"] = "safe";
|
|
7
7
|
SmartWalletKind["KERNEL"] = "kernel";
|
|
8
8
|
SmartWalletKind["LIGHT_ACCOUNT"] = "lightAccount";
|
|
9
|
+
SmartWalletKind["EIP_7702"] = "eip7702";
|
|
9
10
|
SmartWalletKind["POLYMARKET"] = "polymarket";
|
|
10
11
|
SmartWalletKind["COINBASE"] = "coinbase";
|
|
11
12
|
SmartWalletKind["UNKNOWN"] = "unknown";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SmartWalletKind.js","sourceRoot":"","sources":["../../../../../../src/domain/model/withdraw/constants/SmartWalletKind.ts"],"names":[],"mappings":";;;AAAA,IAAY,
|
|
1
|
+
{"version":3,"file":"SmartWalletKind.js","sourceRoot":"","sources":["../../../../../../src/domain/model/withdraw/constants/SmartWalletKind.ts"],"names":[],"mappings":";;;AAAA,IAAY,eAQX;AARD,WAAY,eAAe;IACzB,gCAAa,CAAA;IACb,oCAAiB,CAAA;IACjB,iDAA8B,CAAA;IAC9B,uCAAoB,CAAA;IACpB,4CAAyB,CAAA;IACzB,wCAAqB,CAAA;IACrB,sCAAmB,CAAA;AACrB,CAAC,EARW,eAAe,+BAAf,eAAe,QAQ1B"}
|
|
@@ -5,5 +5,6 @@ var WithdrawalKind;
|
|
|
5
5
|
(function (WithdrawalKind) {
|
|
6
6
|
WithdrawalKind["POLYMARKET"] = "polymarket";
|
|
7
7
|
WithdrawalKind["RAW"] = "raw";
|
|
8
|
+
WithdrawalKind["HYPERLIQUID"] = "hyperliquid";
|
|
8
9
|
})(WithdrawalKind || (exports.WithdrawalKind = WithdrawalKind = {}));
|
|
9
10
|
//# sourceMappingURL=WithdrawalKind.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WithdrawalKind.js","sourceRoot":"","sources":["../../../../../../src/domain/model/withdraw/constants/WithdrawalKind.ts"],"names":[],"mappings":";;;AAAA,IAAY,
|
|
1
|
+
{"version":3,"file":"WithdrawalKind.js","sourceRoot":"","sources":["../../../../../../src/domain/model/withdraw/constants/WithdrawalKind.ts"],"names":[],"mappings":";;;AAAA,IAAY,cAIX;AAJD,WAAY,cAAc;IACxB,2CAAyB,CAAA;IACzB,6BAAW,CAAA;IACX,6CAA2B,CAAA;AAC7B,CAAC,EAJW,cAAc,8BAAd,cAAc,QAIzB"}
|
|
@@ -1,19 +1,29 @@
|
|
|
1
|
-
import { BlockchainSymbol } from '../../blockchain/constants/BlockchainSymbol';
|
|
1
|
+
import { BlockchainSymbol, DepositBlockchainSymbol } from '../../blockchain/constants/BlockchainSymbol';
|
|
2
2
|
import { SignedTransactionKind } from '../../broadcast/constants/SignedTransactionKind';
|
|
3
3
|
import { PreparedWithdrawalTypedDataDto } from './preparedWithdrawalTypedData.dto';
|
|
4
|
-
export type PreparedTransaction = PolymarketWalletPreparedTransaction | RawPreparedTransaction | UserOpPreparedTransaction;
|
|
4
|
+
export type PreparedTransaction = PolymarketWalletPreparedTransaction | RawPreparedTransaction | UserOpPreparedTransaction | HypercorePreparedTransaction;
|
|
5
5
|
export interface PolymarketWalletPreparedTransaction {
|
|
6
6
|
kind: SignedTransactionKind.POLYMARKET_WALLET;
|
|
7
7
|
typedData: PreparedWithdrawalTypedDataDto;
|
|
8
8
|
}
|
|
9
9
|
export interface RawPreparedTransaction {
|
|
10
10
|
kind: SignedTransactionKind.RAW;
|
|
11
|
-
chain: BlockchainSymbol;
|
|
11
|
+
chain: BlockchainSymbol | DepositBlockchainSymbol;
|
|
12
12
|
unsignedTx: string;
|
|
13
13
|
}
|
|
14
|
+
export interface HypercorePreparedTransaction {
|
|
15
|
+
kind: SignedTransactionKind.HYPERCORE;
|
|
16
|
+
chain: BlockchainSymbol | DepositBlockchainSymbol;
|
|
17
|
+
typedData: PreparedWithdrawalTypedDataDto;
|
|
18
|
+
}
|
|
14
19
|
export interface UserOpPreparedTransaction {
|
|
15
20
|
kind: SignedTransactionKind.USER_OP;
|
|
16
21
|
chain: BlockchainSymbol;
|
|
17
22
|
userOp: Record<string, unknown>;
|
|
18
23
|
entryPoint: string;
|
|
24
|
+
authorization?: {
|
|
25
|
+
chainId: string;
|
|
26
|
+
address: string;
|
|
27
|
+
nonce: string;
|
|
28
|
+
};
|
|
19
29
|
}
|
|
@@ -45,15 +45,48 @@ describe('PreparedTransaction discriminated union', () => {
|
|
|
45
45
|
chain: BlockchainSymbol_1.BlockchainSymbol.POLYGON,
|
|
46
46
|
userOp: { sender: '0xowner', nonce: '0x0' },
|
|
47
47
|
entryPoint: '0xEntryPoint',
|
|
48
|
+
authorization: { chainId: '0x89', address: '0ximpl', nonce: '0x0' },
|
|
48
49
|
};
|
|
49
50
|
if (prepared.kind === SignedTransactionKind_1.SignedTransactionKind.USER_OP) {
|
|
50
51
|
expect(prepared.entryPoint).toBe('0xEntryPoint');
|
|
51
52
|
expect(prepared.userOp).toEqual({ sender: '0xowner', nonce: '0x0' });
|
|
53
|
+
expect(prepared.authorization).toEqual({
|
|
54
|
+
chainId: '0x89',
|
|
55
|
+
address: '0ximpl',
|
|
56
|
+
nonce: '0x0',
|
|
57
|
+
});
|
|
52
58
|
}
|
|
53
59
|
else {
|
|
54
60
|
throw new Error('expected USER_OP narrowing');
|
|
55
61
|
}
|
|
56
62
|
});
|
|
63
|
+
it('narrows hypercore → typedData', () => {
|
|
64
|
+
const prepared = {
|
|
65
|
+
kind: SignedTransactionKind_1.SignedTransactionKind.HYPERCORE,
|
|
66
|
+
chain: BlockchainSymbol_1.DepositBlockchainSymbol.HYPERCORE,
|
|
67
|
+
typedData: {
|
|
68
|
+
domain: {
|
|
69
|
+
name: 'HyperliquidSignTransaction',
|
|
70
|
+
version: '1',
|
|
71
|
+
chainId: 42161,
|
|
72
|
+
verifyingContract: '0x0000000000000000000000000000000000000000',
|
|
73
|
+
},
|
|
74
|
+
types: {
|
|
75
|
+
'HyperliquidTransaction:UsdSend': [
|
|
76
|
+
{ name: 'destination', type: 'string' },
|
|
77
|
+
],
|
|
78
|
+
},
|
|
79
|
+
primaryType: 'HyperliquidTransaction:UsdSend',
|
|
80
|
+
message: { destination: '0xabc' },
|
|
81
|
+
},
|
|
82
|
+
};
|
|
83
|
+
if (prepared.kind === SignedTransactionKind_1.SignedTransactionKind.HYPERCORE) {
|
|
84
|
+
expect(prepared.typedData.primaryType).toBe('HyperliquidTransaction:UsdSend');
|
|
85
|
+
}
|
|
86
|
+
else {
|
|
87
|
+
throw new Error('expected HYPERCORE narrowing');
|
|
88
|
+
}
|
|
89
|
+
});
|
|
57
90
|
it('exhaustive switch over PreparedTransaction compiles', () => {
|
|
58
91
|
const describeKind = (prepared) => {
|
|
59
92
|
switch (prepared.kind) {
|
|
@@ -63,6 +96,8 @@ describe('PreparedTransaction discriminated union', () => {
|
|
|
63
96
|
return prepared.unsignedTx;
|
|
64
97
|
case SignedTransactionKind_1.SignedTransactionKind.USER_OP:
|
|
65
98
|
return prepared.entryPoint;
|
|
99
|
+
case SignedTransactionKind_1.SignedTransactionKind.HYPERCORE:
|
|
100
|
+
return prepared.typedData.primaryType;
|
|
66
101
|
default: {
|
|
67
102
|
const exhaustive = prepared;
|
|
68
103
|
return exhaustive;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preparedTransaction.spec.js","sourceRoot":"","sources":["../../../../../src/domain/model/withdraw/preparedTransaction.spec.ts"],"names":[],"mappings":";;AAAA,+
|
|
1
|
+
{"version":3,"file":"preparedTransaction.spec.js","sourceRoot":"","sources":["../../../../../src/domain/model/withdraw/preparedTransaction.spec.ts"],"names":[],"mappings":"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"}
|