@@ -32,6 +32,7 @@ describe('ipns', function () {
32
32
33
33
it ( 'should create an ipns record (V1+V2) correctly' , async ( ) => {
34
34
const sequence = 0
35
+ const ttl = BigInt ( 60 * 60 * 1e+9 )
35
36
const validity = 1000000
36
37
37
38
const record = await ipns . create ( peerId , contentPath , sequence , validity )
@@ -40,7 +41,7 @@ describe('ipns', function () {
40
41
expect ( record . validityType ) . to . equal ( IpnsEntry . ValidityType . EOL )
41
42
expect ( record . validity ) . to . exist ( )
42
43
expect ( record . sequence ) . to . equal ( BigInt ( 0 ) )
43
- expect ( record . ttl ) . to . equal ( BigInt ( validity * 100000 ) )
44
+ expect ( record . ttl ) . to . equal ( ttl )
44
45
expect ( record . signatureV1 ) . to . exist ( )
45
46
expect ( record . signatureV2 ) . to . exist ( )
46
47
expect ( record . data ) . to . exist ( )
@@ -51,7 +52,7 @@ describe('ipns', function () {
51
52
expect ( pb . validityType ) . to . equal ( IpnsEntry . ValidityType . EOL )
52
53
expect ( pb . validity ) . to . exist ( )
53
54
expect ( pb . sequence ) . to . equal ( BigInt ( sequence ) )
54
- expect ( pb . ttl ) . to . equal ( BigInt ( validity * 100000 ) )
55
+ expect ( pb . ttl ) . to . equal ( ttl )
55
56
expect ( pb . signatureV1 ) . to . exist ( )
56
57
expect ( pb . signatureV2 ) . to . exist ( )
57
58
expect ( pb . data ) . to . exist ( )
@@ -67,6 +68,7 @@ describe('ipns', function () {
67
68
68
69
it ( 'should create an ipns record (V2) correctly' , async ( ) => {
69
70
const sequence = 0
71
+ const ttl = BigInt ( 60 * 60 * 1e+9 )
70
72
const validity = 1000000
71
73
72
74
const record = await ipns . create ( peerId , contentPath , sequence , validity , { v1Compatible : false } )
@@ -75,7 +77,7 @@ describe('ipns', function () {
75
77
expect ( record . validityType ) . to . equal ( IpnsEntry . ValidityType . EOL )
76
78
expect ( record . validity ) . to . exist ( )
77
79
expect ( record . sequence ) . to . equal ( BigInt ( 0 ) )
78
- expect ( record . ttl ) . to . equal ( BigInt ( validity * 100000 ) )
80
+ expect ( record . ttl ) . to . equal ( ttl )
79
81
expect ( record . signatureV2 ) . to . exist ( )
80
82
expect ( record ) . to . not . have . property ( 'signatureV1' )
81
83
expect ( record . data ) . to . exist ( )
@@ -97,7 +99,7 @@ describe('ipns', function () {
97
99
expect ( data . ValidityType ) . to . equal ( IpnsEntry . ValidityType . EOL )
98
100
expect ( data . Validity ) . to . exist ( )
99
101
expect ( data . Sequence ) . to . equal ( BigInt ( sequence ) )
100
- expect ( data . TTL ) . to . equal ( BigInt ( validity * 100000 ) )
102
+ expect ( data . TTL ) . to . equal ( ttl )
101
103
} )
102
104
103
105
it ( 'should be able to create a record (V1+V2) with a fixed expiration' , async ( ) => {
@@ -130,6 +132,43 @@ describe('ipns', function () {
130
132
expect ( data . Validity ) . to . equalBytes ( uint8ArrayFromString ( expiration ) )
131
133
} )
132
134
135
+ it ( 'should be able to create a record (V1+V2) with a fixed ttl' , async ( ) => {
136
+ const sequence = 0
137
+ const ttl = BigInt ( 0.6e+12 )
138
+ const validity = 1000000
139
+
140
+ const record = await ipns . create ( peerId , contentPath , sequence , validity , {
141
+ ttlNs : ttl
142
+ } )
143
+ const marshalledRecord = ipns . marshal ( record )
144
+
145
+ await ipnsValidator ( peerIdToRoutingKey ( peerId ) , marshalledRecord )
146
+
147
+ const pb = IpnsEntry . decode ( marshalledRecord )
148
+ const data = parseCborData ( pb . data ?? new Uint8Array ( 0 ) )
149
+ expect ( data . TTL ) . to . equal ( ttl )
150
+ } )
151
+
152
+ it ( 'should be able to create a record (V2) with a fixed ttl' , async ( ) => {
153
+ const sequence = 0
154
+ const ttl = BigInt ( 1.6e+12 )
155
+ const validity = 1000000
156
+
157
+ const record = await ipns . create ( peerId , contentPath , sequence , validity , {
158
+ ttlNs : ttl ,
159
+ v1Compatible : false
160
+ } )
161
+ const marshalledRecord = ipns . marshal ( record )
162
+
163
+ await ipnsValidator ( peerIdToRoutingKey ( peerId ) , marshalledRecord )
164
+
165
+ const pb = IpnsEntry . decode ( marshalledRecord )
166
+ expect ( pb ) . to . not . have . property ( 'ttl' )
167
+
168
+ const data = parseCborData ( pb . data ?? new Uint8Array ( 0 ) )
169
+ expect ( data . TTL ) . to . equal ( ttl )
170
+ } )
171
+
133
172
it ( 'should create an ipns record (V1+V2) and validate it correctly' , async ( ) => {
134
173
const sequence = 0
135
174
const validity = 1000000
0 commit comments