@@ -24,6 +24,7 @@ const OVERWINTER_BRANCH_ID = 0x5ba81b19;
24
24
const CANOPY_BRANCH_ID = 0xe9ff75a6 ;
25
25
const NU5_BRANCH_ID = 0xc2d6d0b4 ;
26
26
const NU6_BRANCH_ID = 0xc8e71055 ;
27
+ const NU6_1_BRANCH_ID = 0x4dec4df0 ; // https://zips.z.cash/zip-0255
27
28
28
29
export class UnsupportedTransactionError extends Error {
29
30
constructor ( message : string ) {
@@ -36,15 +37,25 @@ export function getDefaultVersionGroupIdForVersion(version: number): number {
36
37
case 400 :
37
38
case 450 :
38
39
case 455 :
40
+ case 456 :
39
41
return SAPLING_VERSION_GROUP_ID ;
40
42
case 500 :
41
43
case 550 :
44
+ case 551 :
42
45
return ZIP225_VERSION_GROUP_ID ;
43
46
}
44
47
throw new Error ( `no value for version ${ version } ` ) ;
45
48
}
46
49
47
50
export function getDefaultConsensusBranchIdForVersion ( network : ZcashNetwork , version : number ) : number {
51
+ // Use NU6.1 version for testnet, activated on mainnet in block 2726400
52
+ // https://zips.z.cash/zip-0255
53
+ if ( network === networks . zcashTest ) {
54
+ if ( version === 4 || version === 5 ) {
55
+ return NU6_1_BRANCH_ID ;
56
+ }
57
+ }
58
+
48
59
switch ( version ) {
49
60
case 1 :
50
61
case 2 :
@@ -59,12 +70,16 @@ export function getDefaultConsensusBranchIdForVersion(network: ZcashNetwork, ver
59
70
// https://zips.z.cash/zip-0252
60
71
// NU5 is deprecated on mainnet on block 2726400
61
72
return NU5_BRANCH_ID ;
62
- case 4 :
63
- case 5 :
64
73
case ZcashTransaction . VERSION4_BRANCH_NU6 :
65
74
case ZcashTransaction . VERSION5_BRANCH_NU6 :
75
+ case 4 :
76
+ case 5 :
66
77
// https://zips.z.cash/zip-0253
67
78
return NU6_BRANCH_ID ;
79
+ case ZcashTransaction . VERSION4_BRANCH_NU6_1 :
80
+ case ZcashTransaction . VERSION5_BRANCH_NU6_1 :
81
+ // https://zips.z.cash/zip-0255
82
+ return NU6_1_BRANCH_ID ;
68
83
}
69
84
throw new Error ( `no value for version ${ version } ` ) ;
70
85
}
@@ -77,8 +92,10 @@ export class ZcashTransaction<TNumber extends number | bigint = number> extends
77
92
static VERSION4_BRANCH_CANOPY = 400 ;
78
93
static VERSION4_BRANCH_NU5 = 450 ;
79
94
static VERSION4_BRANCH_NU6 = 455 ;
95
+ static VERSION4_BRANCH_NU6_1 = 456 ;
80
96
static VERSION5_BRANCH_NU5 = 500 ;
81
97
static VERSION5_BRANCH_NU6 = 550 ;
98
+ static VERSION5_BRANCH_NU6_1 = 551 ;
82
99
83
100
// 1 if the transaction is post overwinter upgrade, 0 otherwise
84
101
overwintered = 0 ;
0 commit comments