@@ -31,7 +31,13 @@ interface Segment {
3131const staticArrayRegexp = / ^ ( [ a - z \d [ \] ( ) , ] + ) \[ ( [ 1 - 9 ] [ \d ] * ) ] $ / ;
3232const ufixedRegexp = / ^ u f i x e d ( [ 1 - 9 ] [ \d ] * ) x ( [ 1 - 9 ] [ \d ] * ) $ / ;
3333
34- type ABIValue = boolean | number | bigint | string | Uint8Array | ABIValue [ ] ;
34+ export type ABIValue =
35+ | boolean
36+ | number
37+ | bigint
38+ | string
39+ | Uint8Array
40+ | ABIValue [ ] ;
3541
3642export abstract class ABIType {
3743 // Converts a ABIType object to a string
@@ -691,28 +697,26 @@ export class ABITupleType extends ABIType {
691697
692698 // Check segment indices are valid
693699 // If the dynamic segment are not consecutive and well-ordered, we return error
694- // eslint-disable-next-line no-shadow
695- for ( let i = 0 ; i < dynamicSegments . length ; i ++ ) {
696- const seg = dynamicSegments [ i ] ;
700+ for ( let j = 0 ; j < dynamicSegments . length ; j ++ ) {
701+ const seg = dynamicSegments [ j ] ;
697702 if ( seg . left > seg . right ) {
698703 throw new Error (
699704 'dynamic segment should display a [l, r] space with l <= r'
700705 ) ;
701706 }
702707 if (
703- i !== dynamicSegments . length - 1 &&
704- seg . right !== dynamicSegments [ i + 1 ] . left
708+ j !== dynamicSegments . length - 1 &&
709+ seg . right !== dynamicSegments [ j + 1 ] . left
705710 ) {
706711 throw new Error ( 'dynamic segment should be consecutive' ) ;
707712 }
708713 }
709714
710715 // Check dynamic element partitions
711716 let segIndex = 0 ;
712- // eslint-disable-next-line no-shadow
713- for ( let i = 0 ; i < tupleTypes . length ; i ++ ) {
714- if ( tupleTypes [ i ] . isDynamic ( ) ) {
715- valuePartition [ i ] = byteString . slice (
717+ for ( let j = 0 ; j < tupleTypes . length ; j ++ ) {
718+ if ( tupleTypes [ j ] . isDynamic ( ) ) {
719+ valuePartition [ j ] = byteString . slice (
716720 dynamicSegments [ segIndex ] . left ,
717721 dynamicSegments [ segIndex ] . right
718722 ) ;
@@ -722,9 +726,8 @@ export class ABITupleType extends ABIType {
722726
723727 // Decode each tuple element
724728 const returnValues : ABIValue [ ] = [ ] ;
725- // eslint-disable-next-line no-shadow
726- for ( let i = 0 ; i < tupleTypes . length ; i ++ ) {
727- const valueTi = tupleTypes [ i ] . decode ( valuePartition [ i ] ) ;
729+ for ( let j = 0 ; j < tupleTypes . length ; j ++ ) {
730+ const valueTi = tupleTypes [ j ] . decode ( valuePartition [ j ] ) ;
728731 returnValues . push ( valueTi ) ;
729732 }
730733 return returnValues ;
0 commit comments