@@ -12,16 +12,16 @@ export type Answer = {
1212 reserved ?: boolean ;
1313} ;
1414
15- export type Alias = {
15+ export type AliasArray = {
1616 id ?: string ;
1717 name : string ;
1818 address : string | Address ;
1919 isValid ?: boolean ;
2020} ;
2121
22+ export type Alias = Record < string , string > ;
2223export interface IDisputeTemplate {
2324 answers : Answer [ ] ;
24- aliases ?: Alias [ ] ;
2525 arbitrableAddress ?: string ;
2626 arbitrableChainID ?: string ;
2727 arbitratorAddress ?: string ;
@@ -34,6 +34,7 @@ export interface IDisputeTemplate {
3434 question : string ;
3535 specification ?: string ;
3636 title : string ;
37+ aliases ?: Alias ;
3738 // attachment: Attachment;
3839 // type: string;
3940}
@@ -42,6 +43,7 @@ interface IDisputeData extends IDisputeTemplate {
4243 courtId ?: string ;
4344 numberOfJurors : number ;
4445 arbitrationCost ?: string ;
46+ aliasesArray ?: AliasArray [ ] ;
4547}
4648
4749interface INewDisputeContext {
@@ -64,7 +66,7 @@ const initialDisputeData: IDisputeData = {
6466 { title : "" , id : "1" } ,
6567 { title : "" , id : "2" } ,
6668 ] ,
67- aliases : [
69+ aliasesArray : [
6870 { name : "" , address : "" , id : "1" } ,
6971 { name : "" , address : "" , id : "2" } ,
7072 ] ,
@@ -113,13 +115,22 @@ export const NewDisputeProvider: React.FC<{ children: React.ReactNode }> = ({ ch
113115} ;
114116
115117const constructDisputeTemplate = ( disputeData : IDisputeData ) => {
116- const baseTemplate = { ...disputeData } as IDisputeTemplate ;
118+ const baseTemplate = { ...disputeData } ;
117119
118- if ( ! isUndefined ( baseTemplate . aliases ) ) {
119- baseTemplate . aliases = baseTemplate . aliases . filter ( ( item ) => item . address !== "" && item . isValid ) ;
120- if ( baseTemplate . aliases . length === 0 ) delete baseTemplate . aliases ;
120+ if ( ! isUndefined ( baseTemplate . aliasesArray ) ) {
121+ baseTemplate . aliasesArray = baseTemplate . aliasesArray . filter ( ( item ) => item . address !== "" && item . isValid ) ;
122+ if ( baseTemplate . aliasesArray . length === 0 ) delete baseTemplate . aliasesArray ;
123+ else {
124+ const aliases : Alias = { } ;
125+
126+ for ( const alias of baseTemplate . aliasesArray ) {
127+ aliases [ alias . name ] = alias . address ;
128+ }
129+
130+ baseTemplate . aliases = aliases ;
131+ }
121132 }
122133 if ( ! isUndefined ( baseTemplate . policyURI ) && baseTemplate . policyURI === "" ) delete baseTemplate . policyURI ;
123134
124- return baseTemplate ;
135+ return baseTemplate as IDisputeTemplate ;
125136} ;
0 commit comments