MCPcopy Create free account
hub / github.com/0xProject/0x-examples / executeTrade

Function executeTrade

gasless-v2-headless-example/index.ts:118–149  ·  view source on GitHub ↗
(
    tokenApprovalRequired: boolean,
    gaslessApprovalAvailable: boolean
  )

Source from the content-addressed store, hash-verified

116 );
117
118 async function executeTrade(
119 tokenApprovalRequired: boolean,
120 gaslessApprovalAvailable: boolean
121 ) {
122 let approvalSignature: Hex | null = null;
123 let approvalDataToSubmit: any = null;
124 let tradeDataToSubmit: any = null;
125 let tradeSignature: any = null;
126
127 if (tokenApprovalRequired) {
128 if (gaslessApprovalAvailable) {
129 approvalSignature = await signApprovalObject(); // Function to sign approval object
130 } else {
131 await standardApproval(); // Function to handle standard approval
132 }
133 }
134
135 if (approvalSignature) {
136 approvalDataToSubmit = await approvalSplitSigDataToSubmit(
137 approvalSignature
138 );
139 }
140
141 tradeSignature = await signTradeObject(); // Function to sign trade object
142 tradeDataToSubmit = await tradeSplitSigDataToSubmit(tradeSignature);
143
144 const tradeHash = await submitTrade(
145 tradeDataToSubmit,
146 approvalDataToSubmit
147 ); // Function to submit trade
148 return tradeHash;
149 }
150
151 // Helper functions
152 async function signTradeObject(): Promise<any> {

Callers 2

mainFunction · 0.85
swapMethod · 0.85

Calls 6

signApprovalObjectFunction · 0.85
standardApprovalFunction · 0.85
signTradeObjectFunction · 0.85
submitTradeFunction · 0.85

Tested by

no test coverage detected