Skip to content

Commit 7db7a95

Browse files
committed
refactor: fix transforming of node methods
1 parent d3f7904 commit 7db7a95

File tree

2 files changed

+23
-18
lines changed

2 files changed

+23
-18
lines changed

src/node.ts

Lines changed: 18 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -38,22 +38,24 @@ type PreserveOptional<NewType, OrigType> =
3838
export type TransformNodeType<Type> =
3939
Type extends (...args: infer Args) => infer Ret
4040
? (...args: TransformNodeType<Args>) => TransformNodeType<Ret>
41-
: Type extends Array<infer Item>
42-
? Array<TransformNodeType<Item>>
43-
: Type extends Promise<infer T>
44-
? Promise<TransformNodeType<T>>
45-
: Type extends { [P in any]: any }
46-
? {
47-
[Property in keyof Type]:
48-
Property extends BigIntPropertyNames
49-
? PreserveOptional<bigint, Type[Property]>
50-
: Property extends NumberPropertyNames
51-
? PreserveOptional<number, Type[Property]>
52-
: Property extends 'txHash'
53-
? PreserveOptional<EncodedData<'th'>, Type[Property]>
54-
: TransformNodeType<Type[Property]>
55-
}
56-
: Type
41+
: Type extends [infer Item, ...infer Rest]
42+
? [TransformNodeType<Item>, ...TransformNodeType<Rest>]
43+
: Type extends Array<infer Item>
44+
? Array<TransformNodeType<Item>>
45+
: Type extends Promise<infer T>
46+
? Promise<TransformNodeType<T>>
47+
: Type extends { [P in any]: any }
48+
? {
49+
[Property in keyof Type]:
50+
Property extends BigIntPropertyNames
51+
? PreserveOptional<bigint, Type[Property]>
52+
: Property extends NumberPropertyNames
53+
? PreserveOptional<number, Type[Property]>
54+
: Property extends 'txHash'
55+
? PreserveOptional<EncodedData<'th'>, Type[Property]>
56+
: TransformNodeType<Type[Property]>
57+
}
58+
: Type
5759
type TransformedNode = new (...args: ConstructorParameters<typeof Node>) => {
5860
[Name in keyof InstanceType<typeof Node>]: TransformNodeType<Node[Name]>
5961
}

src/tx/index.ts

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,9 @@ export async function _buildTx (
9494
if (txType === TX_TYPE.payingFor) {
9595
params.tx = unpackTx(params.tx)
9696
}
97-
const extraParams = await prepareTxParams(txType, { ...params, senderId: params[senderKey] })
97+
const senderId = params[senderKey]
98+
if (senderId == null) throw new UnexpectedTsError()
99+
const extraParams = await prepareTxParams(txType, { ...params, senderId })
98100
return syncBuildTx({ ...params, ...extraParams }, txType).tx
99101
}
100102

@@ -183,7 +185,8 @@ export async function prepareTxParams (
183185
strategy,
184186
showWarning = false,
185187
onNode
186-
}: TxParamsCommon & {
188+
}: Pick<TxParamsCommon, 'nonce' | 'ttl' | 'fee'> & {
189+
senderId: EncodedData<'ak'>
187190
vsn?: number
188191
gasLimit?: number | string | BigNumber
189192
absoluteTtl?: number

0 commit comments

Comments
 (0)