<span class="token keyword">async</span> <span class="token function">consumeAsset</span> <span class="token punctuation">(</span> <span class="token punctuation">)</span> <span class="token punctuation">{</span>
<span class="token keyword">try</span> <span class="token punctuation">{</span>
<span class="token comment">// get all accounts</span>
<span class="token keyword">const</span> accounts <span class="token operator">=</span> <span class="token keyword">await</span> <span class="token keyword">this</span> <span class="token punctuation">.</span> state <span class="token punctuation">.</span> ocean <span class="token punctuation">.</span> accounts <span class="token punctuation">.</span> <span class="token function">list</span> <span class="token punctuation">(</span> <span class="token punctuation">)</span>
<span class="token comment">// get our registered asset</span>
<span class="token keyword">const</span> consumeAsset <span class="token operator">=</span> <span class="token keyword">this</span> <span class="token punctuation">.</span> state <span class="token punctuation">.</span> ddo
<span class="token comment">// get service we want to execute</span>
<span class="token keyword">const</span> service <span class="token operator">=</span> consumeAsset <span class="token punctuation">.</span> <span class="token function">findServiceByType</span> <span class="token punctuation">(</span> <span class="token string">'access'</span> <span class="token punctuation">)</span>
<span class="token comment">// order service agreement</span>
<span class="token keyword">const</span> agreement <span class="token operator">=</span> <span class="token keyword">await</span> <span class="token keyword">this</span> <span class="token punctuation">.</span> state <span class="token punctuation">.</span> ocean <span class="token punctuation">.</span> assets <span class="token punctuation">.</span> <span class="token function">order</span> <span class="token punctuation">(</span>
consumeAsset <span class="token punctuation">.</span> id <span class="token punctuation">,</span>
service <span class="token punctuation">.</span> index <span class="token punctuation">,</span>
accounts <span class="token punctuation">[</span> <span class="token number">0</span> <span class="token punctuation">]</span>
<span class="token punctuation">)</span>
<span class="token comment">// consume it</span>
<span class="token keyword">await</span> <span class="token keyword">this</span> <span class="token punctuation">.</span> state <span class="token punctuation">.</span> ocean <span class="token punctuation">.</span> assets <span class="token punctuation">.</span> <span class="token function">consume</span> <span class="token punctuation">(</span>
agreement <span class="token punctuation">,</span>
consumeAsset <span class="token punctuation">.</span> id <span class="token punctuation">,</span>
service <span class="token punctuation">.</span> index <span class="token punctuation">,</span>
accounts <span class="token punctuation">[</span> <span class="token number">0</span> <span class="token punctuation">]</span> <span class="token punctuation">,</span>
<span class="token string">''</span> <span class="token punctuation">,</span>
<span class="token number">0</span>
<span class="token punctuation">)</span>
<span class="token punctuation">}</span> <span class="token keyword">catch</span> <span class="token punctuation">(</span> <span class="token class-name">error</span> <span class="token punctuation">)</span> <span class="token punctuation">{</span>
console <span class="token punctuation">.</span> <span class="token function">error</span> <span class="token punctuation">(</span> error <span class="token punctuation">.</span> message <span class="token punctuation">)</span>
<span class="token punctuation">}</span>
<span class="token punctuation">}</span>