MCPcopy Index your code
hub / github.com/SmartTokenLabs/TokenScript / negotiate

Function negotiate

bootstrap-js/tokenscript-bootstrap.js:1043–1155  ·  view source on GitHub ↗

* Add token to the list * * @param tokenName * @param filter * @param debug * @returns {Promise }

(tokenName, filter = '', debug = false)

Source from the content-addressed store, hash-verified

1041 * @returns {Promise<void>}
1042 */
1043 async function negotiate(tokenName, filter = '', debug = false){
1044 tsActive = 1;
1045 await init();
1046
1047 // negotiatedTokens[tokenName] = filter;
1048 if (!tokenNodesList[tokenName]) {
1049 console.error('unknown token '+tokenName);
1050 return;
1051 }
1052
1053 if (tokenNodesList[tokenName].working) {
1054 console.error('already rendering token : '+tokenName);
1055 return;
1056 }
1057
1058 console.log('negotiate token '+tokenName+ ' with filter : '+filter);
1059
1060 tokenNodesList[tokenName].filter = filter;
1061 tokenNodesList[tokenName].working = true;
1062
1063 try {
1064
1065 ethersData = await getEthersData();
1066
1067 debug && console.log('negotiate fired for '+tokenName);
1068
1069 const tokenNodes = bar.querySelectorAll('.ts_token_bar_body .ts_token_wrap[data-tokenname="'+tokenName+'"]');
1070 if (tokenNodes.length) tokenNodes.forEach(node=>node.remove());
1071
1072 let initialTokenInstance = new TokenCard({
1073 // xmlDoc,
1074 xmlDoc: tokenNodesList[tokenName].xmlDoc,
1075 tokenXMLNode: tokenNodesList[tokenName].tokenRootNode,
1076 lang,
1077 fallbackLang: config.lang,
1078 tokenName,
1079 ethersData,
1080 filter,
1081 debug
1082 });
1083 let distinctProps = await initialTokenInstance.getDistinctItems();
1084 // console.log('distinctProps');
1085 // console.log(distinctProps);
1086
1087 if (distinctProps && distinctProps.items && distinctProps.items.length) {
1088
1089 const barBody = bar.querySelector('.ts_token_bar_body');
1090 let wrap = barBody.querySelector('.ts_token_wrap[data-tokenname="' + tokenName + '"]');
1091 if (!wrap) {
1092 wrap = document.createElement('div');
1093 wrap.setAttribute('data-tokenname', tokenName);
1094 wrap.classList.add('ts_token_wrap');
1095 barBody.appendChild(wrap);
1096 }
1097 wrap.innerHTML='';
1098
1099 let i = 0;
1100 for (;i<distinctProps.items.length; i++) {

Callers 3

renegotiateAllFunction · 0.85
passiveRenegotiateAllFunction · 0.85

Calls 8

getDistinctItemsMethod · 0.95
getPropsMethod · 0.95
renderMethod · 0.95
getEthersDataFunction · 0.90
toFunction · 0.90
compareStringToPropsFunction · 0.90
initFunction · 0.85
setDefMessageAndBtnFunction · 0.85

Tested by

no test coverage detected