Skip to content

Commit 4f1d5d0

Browse files
committed
refactor: more reliable program comparison
1 parent 7130138 commit 4f1d5d0

File tree

3 files changed

+55
-44
lines changed

3 files changed

+55
-44
lines changed

docs/code/classes/types_app_client.AppClient.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -849,7 +849,7 @@ ___
849849

850850
#### Defined in
851851

852-
[src/types/app-client.ts:1606](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-client.ts#L1606)
852+
[src/types/app-client.ts:1617](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-client.ts#L1617)
853853

854854
___
855855

@@ -1197,7 +1197,7 @@ ___
11971197

11981198
#### Defined in
11991199

1200-
[src/types/app-client.ts:1676](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-client.ts#L1676)
1200+
[src/types/app-client.ts:1687](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-client.ts#L1687)
12011201

12021202
___
12031203

docs/code/classes/types_app_client.ApplicationClient.md

Lines changed: 40 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ Create a new ApplicationClient instance
9292

9393
#### Defined in
9494

95-
[src/types/app-client.ts:1803](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-client.ts#L1803)
95+
[src/types/app-client.ts:1814](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-client.ts#L1814)
9696

9797
## Properties
9898

@@ -102,7 +102,7 @@ Create a new ApplicationClient instance
102102

103103
#### Defined in
104104

105-
[src/types/app-client.ts:1786](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-client.ts#L1786)
105+
[src/types/app-client.ts:1797](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-client.ts#L1797)
106106

107107
___
108108

@@ -112,7 +112,7 @@ ___
112112

113113
#### Defined in
114114

115-
[src/types/app-client.ts:1785](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-client.ts#L1785)
115+
[src/types/app-client.ts:1796](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-client.ts#L1796)
116116

117117
___
118118

@@ -122,7 +122,7 @@ ___
122122

123123
#### Defined in
124124

125-
[src/types/app-client.ts:1788](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-client.ts#L1788)
125+
[src/types/app-client.ts:1799](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-client.ts#L1799)
126126

127127
___
128128

@@ -132,7 +132,7 @@ ___
132132

133133
#### Defined in
134134

135-
[src/types/app-client.ts:1790](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-client.ts#L1790)
135+
[src/types/app-client.ts:1801](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-client.ts#L1801)
136136

137137
___
138138

@@ -142,7 +142,7 @@ ___
142142

143143
#### Defined in
144144

145-
[src/types/app-client.ts:1791](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-client.ts#L1791)
145+
[src/types/app-client.ts:1802](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-client.ts#L1802)
146146

147147
___
148148

@@ -152,7 +152,7 @@ ___
152152

153153
#### Defined in
154154

155-
[src/types/app-client.ts:1787](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-client.ts#L1787)
155+
[src/types/app-client.ts:1798](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-client.ts#L1798)
156156

157157
___
158158

@@ -162,7 +162,7 @@ ___
162162

163163
#### Defined in
164164

165-
[src/types/app-client.ts:1777](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-client.ts#L1777)
165+
[src/types/app-client.ts:1788](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-client.ts#L1788)
166166

167167
___
168168

@@ -172,7 +172,7 @@ ___
172172

173173
#### Defined in
174174

175-
[src/types/app-client.ts:1779](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-client.ts#L1779)
175+
[src/types/app-client.ts:1790](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-client.ts#L1790)
176176

177177
___
178178

@@ -182,7 +182,7 @@ ___
182182

183183
#### Defined in
184184

185-
[src/types/app-client.ts:1783](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-client.ts#L1783)
185+
[src/types/app-client.ts:1794](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-client.ts#L1794)
186186

187187
___
188188

@@ -192,7 +192,7 @@ ___
192192

193193
#### Defined in
194194

195-
[src/types/app-client.ts:1782](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-client.ts#L1782)
195+
[src/types/app-client.ts:1793](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-client.ts#L1793)
196196

197197
___
198198

@@ -202,7 +202,7 @@ ___
202202

203203
#### Defined in
204204

205-
[src/types/app-client.ts:1778](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-client.ts#L1778)
205+
[src/types/app-client.ts:1789](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-client.ts#L1789)
206206

207207
___
208208

@@ -212,7 +212,7 @@ ___
212212

213213
#### Defined in
214214

215-
[src/types/app-client.ts:1781](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-client.ts#L1781)
215+
[src/types/app-client.ts:1792](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-client.ts#L1792)
216216

217217
___
218218

@@ -222,7 +222,7 @@ ___
222222

223223
#### Defined in
224224

225-
[src/types/app-client.ts:1780](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-client.ts#L1780)
225+
[src/types/app-client.ts:1791](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-client.ts#L1791)
226226

227227
## Methods
228228

@@ -250,7 +250,7 @@ Issues a no_op (normal) call to the app.
250250

251251
#### Defined in
252252

253-
[src/types/app-client.ts:2126](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-client.ts#L2126)
253+
[src/types/app-client.ts:2137](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-client.ts#L2137)
254254

255255
___
256256

@@ -279,7 +279,7 @@ Issues a call to the app with the given call type.
279279

280280
#### Defined in
281281

282-
[src/types/app-client.ts:2208](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-client.ts#L2208)
282+
[src/types/app-client.ts:2219](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-client.ts#L2219)
283283

284284
___
285285

@@ -307,7 +307,7 @@ Issues a clear_state call to the app.
307307

308308
#### Defined in
309309

310-
[src/types/app-client.ts:2185](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-client.ts#L2185)
310+
[src/types/app-client.ts:2196](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-client.ts#L2196)
311311

312312
___
313313

@@ -335,7 +335,7 @@ Issues a close_out call to the app.
335335

336336
#### Defined in
337337

338-
[src/types/app-client.ts:2174](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-client.ts#L2174)
338+
[src/types/app-client.ts:2185](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-client.ts#L2185)
339339

340340
___
341341

@@ -363,7 +363,7 @@ Compiles the approval and clear state programs and sets up the source map.
363363

364364
#### Defined in
365365

366-
[src/types/app-client.ts:1842](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-client.ts#L1842)
366+
[src/types/app-client.ts:1853](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-client.ts#L1853)
367367

368368
___
369369

@@ -391,7 +391,7 @@ Creates a smart contract app, returns the details of the created app.
391391

392392
#### Defined in
393393

394-
[src/types/app-client.ts:2021](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-client.ts#L2021)
394+
[src/types/app-client.ts:2032](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-client.ts#L2032)
395395

396396
___
397397

@@ -419,7 +419,7 @@ Issues a delete_application call to the app.
419419

420420
#### Defined in
421421

422-
[src/types/app-client.ts:2196](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-client.ts#L2196)
422+
[src/types/app-client.ts:2207](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-client.ts#L2207)
423423

424424
___
425425

@@ -453,7 +453,7 @@ To understand the architecture decisions behind this functionality please see ht
453453

454454
#### Defined in
455455

456-
[src/types/app-client.ts:1910](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-client.ts#L1910)
456+
[src/types/app-client.ts:1921](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-client.ts#L1921)
457457

458458
___
459459

@@ -471,7 +471,7 @@ The source maps
471471

472472
#### Defined in
473473

474-
[src/types/app-client.ts:1875](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-client.ts#L1875)
474+
[src/types/app-client.ts:1886](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-client.ts#L1886)
475475

476476
___
477477

@@ -498,7 +498,7 @@ The new error, or if there was no logic error or source map then the wrapped err
498498

499499
#### Defined in
500500

501-
[src/types/app-client.ts:2530](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-client.ts#L2530)
501+
[src/types/app-client.ts:2541](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-client.ts#L2541)
502502

503503
___
504504

@@ -522,7 +522,7 @@ The result of the funding
522522

523523
#### Defined in
524524

525-
[src/types/app-client.ts:2247](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-client.ts#L2247)
525+
[src/types/app-client.ts:2258](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-client.ts#L2258)
526526

527527
___
528528

@@ -546,7 +546,7 @@ The ABI method for the given method
546546

547547
#### Defined in
548548

549-
[src/types/app-client.ts:2488](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-client.ts#L2488)
549+
[src/types/app-client.ts:2499](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-client.ts#L2499)
550550

551551
___
552552

@@ -574,7 +574,7 @@ Returns the ABI Method parameters for the given method name string for the app r
574574

575575
#### Defined in
576576

577-
[src/types/app-client.ts:2466](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-client.ts#L2466)
577+
[src/types/app-client.ts:2477](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-client.ts#L2477)
578578

579579
___
580580

@@ -594,7 +594,7 @@ ___
594594

595595
#### Defined in
596596

597-
[src/types/app-client.ts:2546](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-client.ts#L2546)
597+
[src/types/app-client.ts:2557](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-client.ts#L2557)
598598

599599
___
600600

@@ -617,7 +617,7 @@ Gets the reference information for the current application instance.
617617

618618
#### Defined in
619619

620-
[src/types/app-client.ts:2500](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-client.ts#L2500)
620+
[src/types/app-client.ts:2511](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-client.ts#L2511)
621621

622622
___
623623

@@ -635,7 +635,7 @@ The names of the boxes
635635

636636
#### Defined in
637637

638-
[src/types/app-client.ts:2303](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-client.ts#L2303)
638+
[src/types/app-client.ts:2314](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-client.ts#L2314)
639639

640640
___
641641

@@ -659,7 +659,7 @@ The current box value as a byte array
659659

660660
#### Defined in
661661

662-
[src/types/app-client.ts:2318](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-client.ts#L2318)
662+
[src/types/app-client.ts:2329](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-client.ts#L2329)
663663

664664
___
665665

@@ -684,7 +684,7 @@ The current box value as a byte array
684684

685685
#### Defined in
686686

687-
[src/types/app-client.ts:2334](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-client.ts#L2334)
687+
[src/types/app-client.ts:2345](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-client.ts#L2345)
688688

689689
___
690690

@@ -709,7 +709,7 @@ The (name, value) pair of the boxes with values as raw byte arrays
709709

710710
#### Defined in
711711

712-
[src/types/app-client.ts:2350](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-client.ts#L2350)
712+
[src/types/app-client.ts:2361](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-client.ts#L2361)
713713

714714
___
715715

@@ -735,7 +735,7 @@ The (name, value) pair of the boxes with values as the ABI Value
735735

736736
#### Defined in
737737

738-
[src/types/app-client.ts:2372](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-client.ts#L2372)
738+
[src/types/app-client.ts:2383](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-client.ts#L2383)
739739

740740
___
741741

@@ -764,7 +764,7 @@ Returns the arguments for an app call for the given ABI method or raw method spe
764764

765765
#### Defined in
766766

767-
[src/types/app-client.ts:2396](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-client.ts#L2396)
767+
[src/types/app-client.ts:2407](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-client.ts#L2407)
768768

769769
___
770770

@@ -782,7 +782,7 @@ The global state
782782

783783
#### Defined in
784784

785-
[src/types/app-client.ts:2275](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-client.ts#L2275)
785+
[src/types/app-client.ts:2286](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-client.ts#L2286)
786786

787787
___
788788

@@ -806,7 +806,7 @@ The global state
806806

807807
#### Defined in
808808

809-
[src/types/app-client.ts:2289](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-client.ts#L2289)
809+
[src/types/app-client.ts:2300](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-client.ts#L2300)
810810

811811
___
812812

@@ -828,7 +828,7 @@ Import source maps for the app.
828828

829829
#### Defined in
830830

831-
[src/types/app-client.ts:1892](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-client.ts#L1892)
831+
[src/types/app-client.ts:1903](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-client.ts#L1903)
832832

833833
___
834834

@@ -856,7 +856,7 @@ Issues a opt_in call to the app.
856856

857857
#### Defined in
858858

859-
[src/types/app-client.ts:2163](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-client.ts#L2163)
859+
[src/types/app-client.ts:2174](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-client.ts#L2174)
860860

861861
___
862862

@@ -884,4 +884,4 @@ Updates the smart contract app.
884884

885885
#### Defined in
886886

887-
[src/types/app-client.ts:2085](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-client.ts#L2085)
887+
[src/types/app-client.ts:2096](https://github.com/algorandfoundation/algokit-utils-ts/blob/main/src/types/app-client.ts#L2096)

src/types/app-client.ts

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1578,9 +1578,20 @@ export class AppClient {
15781578

15791579
const txn = txns.find((t) => e.message.includes(t.txID()))
15801580

1581+
const programsEqual = (a: Uint8Array | undefined, b: Uint8Array | undefined) => {
1582+
if (a === undefined || b === undefined) return false
1583+
if (a.length !== b.length) return false
1584+
1585+
for (let i = 0; i < a.length; i++) {
1586+
if (a[i] !== b[i]) return false
1587+
}
1588+
1589+
return true
1590+
}
1591+
15811592
if (
1582-
txn?.applicationCall?.approvalProgram.toString() !== this._lastCompiled?.approval?.toString() ||
1583-
txn?.applicationCall?.clearProgram.toString() !== this._lastCompiled.clear?.toString()
1593+
!programsEqual(txn?.applicationCall?.clearProgram, this._lastCompiled.clear) ||
1594+
!programsEqual(txn?.applicationCall?.approvalProgram, this._lastCompiled?.approval)
15841595
) {
15851596
return e
15861597
}

0 commit comments

Comments
 (0)