@corpus-core/colibri-stateless 1.1.23 → 1.1.25
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/c4w.js +1 -1
- package/c4w.wasm +0 -0
- package/chains.js +2 -2
- package/cjs/chains.js +2 -2
- package/cjs/http.js +28 -0
- package/cjs/index.js +11 -0
- package/cjs/strategy.js +8 -0
- package/http.d.ts +0 -7
- package/http.js +28 -0
- package/index.js +11 -0
- package/package.json +5 -1
- package/strategy.js +9 -1
package/c4w.js
CHANGED
|
@@ -5,7 +5,7 @@ var c4w = (() => {
|
|
|
5
5
|
async function(moduleArg = {}) {
|
|
6
6
|
var moduleRtn;
|
|
7
7
|
|
|
8
|
-
var Module=moduleArg;var readyPromiseResolve,readyPromiseReject;var readyPromise=new Promise((resolve,reject)=>{readyPromiseResolve=resolve;readyPromiseReject=reject});var ENVIRONMENT_IS_WEB=typeof window=="object";var ENVIRONMENT_IS_WORKER=typeof WorkerGlobalScope!="undefined";var ENVIRONMENT_IS_NODE=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string"&&process.type!="renderer";var moduleOverrides=Object.assign({},Module);var arguments_=[];var thisProgram="./this.program";var quit_=(status,toThrow)=>{throw toThrow};var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var readAsync,readBinary;if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(_scriptName){scriptDirectory=_scriptName}if(scriptDirectory.startsWith("blob:")){scriptDirectory=""}else{scriptDirectory=scriptDirectory.slice(0,scriptDirectory.replace(/[?#].*/,"").lastIndexOf("/")+1)}{if(ENVIRONMENT_IS_WORKER){readBinary=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=async url=>{var response=await fetch(url,{credentials:"same-origin"});if(response.ok){return response.arrayBuffer()}throw new Error(response.status+" : "+response.url)}}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.error.bind(console);Object.assign(Module,moduleOverrides);moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];var wasmBinary=Module["wasmBinary"];var wasmMemory;var ABORT=false;var EXITSTATUS;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAP64,HEAPU64,HEAPF64;var runtimeInitialized=false;function updateMemoryViews(){var b=wasmMemory.buffer;Module["HEAP8"]=HEAP8=new Int8Array(b);Module["HEAP16"]=HEAP16=new Int16Array(b);Module["HEAPU8"]=HEAPU8=new Uint8Array(b);Module["HEAPU16"]=HEAPU16=new Uint16Array(b);Module["HEAP32"]=HEAP32=new Int32Array(b);Module["HEAPU32"]=HEAPU32=new Uint32Array(b);Module["HEAPF32"]=HEAPF32=new Float32Array(b);Module["HEAPF64"]=HEAPF64=new Float64Array(b);Module["HEAP64"]=HEAP64=new BigInt64Array(b);Module["HEAPU64"]=HEAPU64=new BigUint64Array(b)}function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(onPreRuns)}function initRuntime(){runtimeInitialized=true;wasmExports["s"]()}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(onPostRuns)}var runDependencies=0;var dependenciesFulfilled=null;function addRunDependency(id){runDependencies++;Module["monitorRunDependencies"]?.(runDependencies)}function removeRunDependency(id){runDependencies--;Module["monitorRunDependencies"]?.(runDependencies);if(runDependencies==0){if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}function abort(what){Module["onAbort"]?.(what);what="Aborted("+what+")";err(what);ABORT=true;what+=". Build with -sASSERTIONS for more info.";var e=new WebAssembly.RuntimeError(what);readyPromiseReject(e);throw e}var wasmBinaryFile;function findWasmBinary(){if(Module["locateFile"]){return locateFile("c4w.wasm")}return new URL("c4w.wasm",import.meta.url).href}function getBinarySync(file){if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}throw"both async and sync fetching of the wasm failed"}async function getWasmBinary(binaryFile){if(!wasmBinary){try{var response=await readAsync(binaryFile);return new Uint8Array(response)}catch{}}return getBinarySync(binaryFile)}async function instantiateArrayBuffer(binaryFile,imports){try{var binary=await getWasmBinary(binaryFile);var instance=await WebAssembly.instantiate(binary,imports);return instance}catch(reason){err(`failed to asynchronously prepare wasm: ${reason}`);abort(reason)}}async function instantiateAsync(binary,binaryFile,imports){if(!binary&&typeof WebAssembly.instantiateStreaming=="function"){try{var response=fetch(binaryFile,{credentials:"same-origin"});var instantiationResult=await WebAssembly.instantiateStreaming(response,imports);return instantiationResult}catch(reason){err(`wasm streaming compile failed: ${reason}`);err("falling back to ArrayBuffer instantiation")}}return instantiateArrayBuffer(binaryFile,imports)}function getWasmImports(){return{a:wasmImports}}async function createWasm(){function receiveInstance(instance,module){wasmExports=instance.exports;wasmMemory=wasmExports["r"];updateMemoryViews();removeRunDependency("wasm-instantiate");return wasmExports}addRunDependency("wasm-instantiate");function receiveInstantiationResult(result){return receiveInstance(result["instance"])}var info=getWasmImports();if(Module["instantiateWasm"]){return new Promise((resolve,reject)=>{Module["instantiateWasm"](info,(mod,inst)=>{receiveInstance(mod,inst);resolve(mod.exports)})})}wasmBinaryFile??=findWasmBinary();try{var result=await instantiateAsync(wasmBinary,wasmBinaryFile,info);var exports=receiveInstantiationResult(result);return exports}catch(e){readyPromiseReject(e);return Promise.reject(e)}}var ASM_CONSTS={162364:($0,$1)=>{var keyStr=UTF8ToString($0);var data=Module.storage.get(keyStr);if(data){var bufferPtr=_c4w_buffer_alloc($1,data.length);HEAPU8.set(data,bufferPtr);return 1}return 0},162552:($0,$1,$2)=>{var keyStr=UTF8ToString($0);var array=new Uint8Array($2);array.set(HEAPU8.subarray($1,$1+$2));Module.storage.set(keyStr,array)},162695:$0=>{var keyStr=UTF8ToString($0);Module.storage.del(keyStr)}};class ExitStatus{name="ExitStatus";constructor(status){this.message=`Program terminated with exit(${status})`;this.status=status}}var callRuntimeCallbacks=callbacks=>{while(callbacks.length>0){callbacks.shift()(Module)}};var onPostRuns=[];var addOnPostRun=cb=>onPostRuns.unshift(cb);var onPreRuns=[];var addOnPreRun=cb=>onPreRuns.unshift(cb);var noExitRuntime=Module["noExitRuntime"]||true;var stackRestore=val=>__emscripten_stack_restore(val);var stackSave=()=>_emscripten_stack_get_current();var UTF8Decoder=typeof TextDecoder!="undefined"?new TextDecoder:undefined;var UTF8ArrayToString=(heapOrArray,idx=0,maxBytesToRead=NaN)=>{var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heapOrArray[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heapOrArray.buffer&&UTF8Decoder){return UTF8Decoder.decode(heapOrArray.subarray(idx,endPtr))}var str="";while(idx<endPtr){var u0=heapOrArray[idx++];if(!(u0&128)){str+=String.fromCharCode(u0);continue}var u1=heapOrArray[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}var u2=heapOrArray[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u0=(u0&7)<<18|u1<<12|u2<<6|heapOrArray[idx++]&63}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}return str};var UTF8ToString=(ptr,maxBytesToRead)=>ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):"";var ___assert_fail=(condition,filename,line,func)=>abort(`Assertion failed: ${UTF8ToString(condition)}, at: `+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"]);class ExceptionInfo{constructor(excPtr){this.excPtr=excPtr;this.ptr=excPtr-24}set_type(type){HEAPU32[this.ptr+4>>2]=type}get_type(){return HEAPU32[this.ptr+4>>2]}set_destructor(destructor){HEAPU32[this.ptr+8>>2]=destructor}get_destructor(){return HEAPU32[this.ptr+8>>2]}set_caught(caught){caught=caught?1:0;HEAP8[this.ptr+12]=caught}get_caught(){return HEAP8[this.ptr+12]!=0}set_rethrown(rethrown){rethrown=rethrown?1:0;HEAP8[this.ptr+13]=rethrown}get_rethrown(){return HEAP8[this.ptr+13]!=0}init(type,destructor){this.set_adjusted_ptr(0);this.set_type(type);this.set_destructor(destructor)}set_adjusted_ptr(adjustedPtr){HEAPU32[this.ptr+16>>2]=adjustedPtr}get_adjusted_ptr(){return HEAPU32[this.ptr+16>>2]}}var exceptionLast=0;var uncaughtExceptionCount=0;var ___cxa_throw=(ptr,type,destructor)=>{var info=new ExceptionInfo(ptr);info.init(type,destructor);exceptionLast=ptr;uncaughtExceptionCount++;throw exceptionLast};var SYSCALLS={varargs:undefined,getStr(ptr){var ret=UTF8ToString(ptr);return ret}};function ___syscall_fcntl64(fd,cmd,varargs){SYSCALLS.varargs=varargs;return 0}function ___syscall_ioctl(fd,op,varargs){SYSCALLS.varargs=varargs;return 0}function ___syscall_openat(dirfd,path,flags,varargs){SYSCALLS.varargs=varargs}var __abort_js=()=>abort("");var stringToUTF8Array=(str,heap,outIdx,maxBytesToWrite)=>{if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx};var stringToUTF8=(str,outPtr,maxBytesToWrite)=>stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite);var __tzset_js=(timezone,daylight,std_name,dst_name)=>{var currentYear=(new Date).getFullYear();var winter=new Date(currentYear,0,1);var summer=new Date(currentYear,6,1);var winterOffset=winter.getTimezoneOffset();var summerOffset=summer.getTimezoneOffset();var stdTimezoneOffset=Math.max(winterOffset,summerOffset);HEAPU32[timezone>>2]=stdTimezoneOffset*60;HEAP32[daylight>>2]=Number(winterOffset!=summerOffset);var extractZone=timezoneOffset=>{var sign=timezoneOffset>=0?"-":"+";var absOffset=Math.abs(timezoneOffset);var hours=String(Math.floor(absOffset/60)).padStart(2,"0");var minutes=String(absOffset%60).padStart(2,"0");return`UTC${sign}${hours}${minutes}`};var winterName=extractZone(winterOffset);var summerName=extractZone(summerOffset);if(summerOffset<winterOffset){stringToUTF8(winterName,std_name,17);stringToUTF8(summerName,dst_name,17)}else{stringToUTF8(winterName,dst_name,17);stringToUTF8(summerName,std_name,17)}};var readEmAsmArgsArray=[];var readEmAsmArgs=(sigPtr,buf)=>{readEmAsmArgsArray.length=0;var ch;while(ch=HEAPU8[sigPtr++]){var wide=ch!=105;wide&=ch!=112;buf+=wide&&buf%8?4:0;readEmAsmArgsArray.push(ch==112?HEAPU32[buf>>2]:ch==106?HEAP64[buf>>3]:ch==105?HEAP32[buf>>2]:HEAPF64[buf>>3]);buf+=wide?8:4}return readEmAsmArgsArray};var runEmAsmFunction=(code,sigPtr,argbuf)=>{var args=readEmAsmArgs(sigPtr,argbuf);return ASM_CONSTS[code](...args)};var _emscripten_asm_const_int=(code,sigPtr,argbuf)=>runEmAsmFunction(code,sigPtr,argbuf);var _emscripten_date_now=()=>Date.now();var getHeapMax=()=>2147483648;var alignMemory=(size,alignment)=>Math.ceil(size/alignment)*alignment;var growMemory=size=>{var b=wasmMemory.buffer;var pages=(size-b.byteLength+65535)/65536|0;try{wasmMemory.grow(pages);updateMemoryViews();return 1}catch(e){}};var _emscripten_resize_heap=requestedSize=>{var oldSize=HEAPU8.length;requestedSize>>>=0;var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){return false}for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignMemory(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=growMemory(newSize);if(replacement){return true}}return false};var ENV={};var getExecutableName=()=>thisProgram||"./this.program";var getEnvStrings=()=>{if(!getEnvStrings.strings){var lang=(typeof navigator=="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8";var env={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:lang,_:getExecutableName()};for(var x in ENV){if(ENV[x]===undefined)delete env[x];else env[x]=ENV[x]}var strings=[];for(var x in env){strings.push(`${x}=${env[x]}`)}getEnvStrings.strings=strings}return getEnvStrings.strings};var stringToAscii=(str,buffer)=>{for(var i=0;i<str.length;++i){HEAP8[buffer++]=str.charCodeAt(i)}HEAP8[buffer]=0};var _environ_get=(__environ,environ_buf)=>{var bufSize=0;getEnvStrings().forEach((string,i)=>{var ptr=environ_buf+bufSize;HEAPU32[__environ+i*4>>2]=ptr;stringToAscii(string,ptr);bufSize+=string.length+1});return 0};var _environ_sizes_get=(penviron_count,penviron_buf_size)=>{var strings=getEnvStrings();HEAPU32[penviron_count>>2]=strings.length;var bufSize=0;strings.forEach(string=>bufSize+=string.length+1);HEAPU32[penviron_buf_size>>2]=bufSize;return 0};var runtimeKeepaliveCounter=0;var keepRuntimeAlive=()=>noExitRuntime||runtimeKeepaliveCounter>0;var _proc_exit=code=>{EXITSTATUS=code;if(!keepRuntimeAlive()){Module["onExit"]?.(code);ABORT=true}quit_(code,new ExitStatus(code))};var exitJS=(status,implicit)=>{EXITSTATUS=status;_proc_exit(status)};var _exit=exitJS;var _fd_close=fd=>52;var _fd_read=(fd,iov,iovcnt,pnum)=>52;var INT53_MAX=9007199254740992;var INT53_MIN=-9007199254740992;var bigintToI53Checked=num=>num<INT53_MIN||num>INT53_MAX?NaN:Number(num);function _fd_seek(fd,offset,whence,newOffset){offset=bigintToI53Checked(offset);return 70}var printCharBuffers=[null,[],[]];var printChar=(stream,curr)=>{var buffer=printCharBuffers[stream];if(curr===0||curr===10){(stream===1?out:err)(UTF8ArrayToString(buffer));buffer.length=0}else{buffer.push(curr)}};var _fd_write=(fd,iov,iovcnt,pnum)=>{var num=0;for(var i=0;i<iovcnt;i++){var ptr=HEAPU32[iov>>2];var len=HEAPU32[iov+4>>2];iov+=8;for(var j=0;j<len;j++){printChar(fd,HEAPU8[ptr+j])}num+=len}HEAPU32[pnum>>2]=num;return 0};var getCFunc=ident=>{var func=Module["_"+ident];return func};var writeArrayToMemory=(array,buffer)=>{HEAP8.set(array,buffer)};var lengthBytesUTF8=str=>{var len=0;for(var i=0;i<str.length;++i){var c=str.charCodeAt(i);if(c<=127){len++}else if(c<=2047){len+=2}else if(c>=55296&&c<=57343){len+=4;++i}else{len+=3}}return len};var stackAlloc=sz=>__emscripten_stack_alloc(sz);var stringToUTF8OnStack=str=>{var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8(str,ret,size);return ret};var ccall=(ident,returnType,argTypes,args,opts)=>{var toC={string:str=>{var ret=0;if(str!==null&&str!==undefined&&str!==0){ret=stringToUTF8OnStack(str)}return ret},array:arr=>{var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType==="string"){return UTF8ToString(ret)}if(returnType==="boolean")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i<args.length;i++){var converter=toC[argTypes[i]];if(converter){if(stack===0)stack=stackSave();cArgs[i]=converter(args[i])}else{cArgs[i]=args[i]}}}var ret=func(...cArgs);function onDone(ret){if(stack!==0)stackRestore(stack);return convertReturnValue(ret)}ret=onDone(ret);return ret};var cwrap=(ident,returnType,argTypes,opts)=>{var numericArgs=!argTypes||argTypes.every(type=>type==="number"||type==="boolean");var numericRet=returnType!=="string";if(numericRet&&numericArgs&&!opts){return getCFunc(ident)}return(...args)=>ccall(ident,returnType,argTypes,args,opts)};var wasmImports={a:___assert_fail,b:___cxa_throw,f:___syscall_fcntl64,j:___syscall_ioctl,k:___syscall_openat,m:__abort_js,l:__tzset_js,d:_emscripten_asm_const_int,g:_emscripten_date_now,n:_emscripten_resize_heap,p:_environ_get,q:_environ_sizes_get,c:_exit,h:_fd_close,i:_fd_read,o:_fd_seek,e:_fd_write};var wasmExports=await createWasm();var ___wasm_call_ctors=wasmExports["s"];var _c4w_create_proof_ctx=Module["_c4w_create_proof_ctx"]=wasmExports["t"];var _c4w_free_proof_ctx=Module["_c4w_free_proof_ctx"]=wasmExports["u"];var _c4w_execute_proof_ctx=Module["_c4w_execute_proof_ctx"]=wasmExports["v"];var _c4w_req_set_response=Module["_c4w_req_set_response"]=wasmExports["w"];var _c4w_req_set_error=Module["_c4w_req_set_error"]=wasmExports["x"];var _c4w_create_verify_ctx=Module["_c4w_create_verify_ctx"]=wasmExports["y"];var _c4w_free_verify_ctx=Module["_c4w_free_verify_ctx"]=wasmExports["z"];var _free=Module["_free"]=wasmExports["A"];var _c4w_verify_proof=Module["_c4w_verify_proof"]=wasmExports["B"];var _c4w_get_method_type=Module["_c4w_get_method_type"]=wasmExports["C"];var _c4w_create_rpc_ctx=Module["_c4w_create_rpc_ctx"]=wasmExports["D"];var _c4w_execute_rpc_ctx=Module["_c4w_execute_rpc_ctx"]=wasmExports["E"];var _c4w_free_rpc_ctx=Module["_c4w_free_rpc_ctx"]=wasmExports["F"];var _c4w_set_checkpoint=Module["_c4w_set_checkpoint"]=wasmExports["G"];var _c4w_rpc_ctx_set_witness_keys=Module["_c4w_rpc_ctx_set_witness_keys"]=wasmExports["H"];var _c4w_rpc_ctx_set_proxy_urls=Module["_c4w_rpc_ctx_set_proxy_urls"]=wasmExports["I"];var _c4w_decode_proof=Module["_c4w_decode_proof"]=wasmExports["J"];var _c4w_req_free=Module["_c4w_req_free"]=wasmExports["K"];var _c4w_buffer_alloc=Module["_c4w_buffer_alloc"]=wasmExports["L"];var _init_storage=Module["_init_storage"]=wasmExports["M"];var _c4w_get_current_version_number=Module["_c4w_get_current_version_number"]=wasmExports["N"];var _malloc=Module["_malloc"]=wasmExports["P"];var __emscripten_stack_restore=wasmExports["Q"];var __emscripten_stack_alloc=wasmExports["R"];var _emscripten_stack_get_current=wasmExports["S"];Module["ccall"]=ccall;Module["cwrap"]=cwrap;Module["UTF8ToString"]=UTF8ToString;Module["stringToUTF8"]=stringToUTF8;function run(){if(runDependencies>0){dependenciesFulfilled=run;return}preRun();if(runDependencies>0){dependenciesFulfilled=run;return}function doRun(){Module["calledRun"]=true;if(ABORT)return;initRuntime();readyPromiseResolve(Module);Module["onRuntimeInitialized"]?.();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(()=>{setTimeout(()=>Module["setStatus"](""),1);doRun()},1)}else{doRun()}}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}run();moduleRtn=readyPromise;
|
|
8
|
+
var Module=moduleArg;var readyPromiseResolve,readyPromiseReject;var readyPromise=new Promise((resolve,reject)=>{readyPromiseResolve=resolve;readyPromiseReject=reject});var ENVIRONMENT_IS_WEB=typeof window=="object";var ENVIRONMENT_IS_WORKER=typeof WorkerGlobalScope!="undefined";var ENVIRONMENT_IS_NODE=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string"&&process.type!="renderer";var moduleOverrides=Object.assign({},Module);var arguments_=[];var thisProgram="./this.program";var quit_=(status,toThrow)=>{throw toThrow};var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var readAsync,readBinary;if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(_scriptName){scriptDirectory=_scriptName}if(scriptDirectory.startsWith("blob:")){scriptDirectory=""}else{scriptDirectory=scriptDirectory.slice(0,scriptDirectory.replace(/[?#].*/,"").lastIndexOf("/")+1)}{if(ENVIRONMENT_IS_WORKER){readBinary=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=async url=>{var response=await fetch(url,{credentials:"same-origin"});if(response.ok){return response.arrayBuffer()}throw new Error(response.status+" : "+response.url)}}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.error.bind(console);Object.assign(Module,moduleOverrides);moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];var wasmBinary=Module["wasmBinary"];var wasmMemory;var ABORT=false;var EXITSTATUS;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAP64,HEAPU64,HEAPF64;var runtimeInitialized=false;function updateMemoryViews(){var b=wasmMemory.buffer;Module["HEAP8"]=HEAP8=new Int8Array(b);Module["HEAP16"]=HEAP16=new Int16Array(b);Module["HEAPU8"]=HEAPU8=new Uint8Array(b);Module["HEAPU16"]=HEAPU16=new Uint16Array(b);Module["HEAP32"]=HEAP32=new Int32Array(b);Module["HEAPU32"]=HEAPU32=new Uint32Array(b);Module["HEAPF32"]=HEAPF32=new Float32Array(b);Module["HEAPF64"]=HEAPF64=new Float64Array(b);Module["HEAP64"]=HEAP64=new BigInt64Array(b);Module["HEAPU64"]=HEAPU64=new BigUint64Array(b)}function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(onPreRuns)}function initRuntime(){runtimeInitialized=true;wasmExports["s"]()}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(onPostRuns)}var runDependencies=0;var dependenciesFulfilled=null;function addRunDependency(id){runDependencies++;Module["monitorRunDependencies"]?.(runDependencies)}function removeRunDependency(id){runDependencies--;Module["monitorRunDependencies"]?.(runDependencies);if(runDependencies==0){if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}function abort(what){Module["onAbort"]?.(what);what="Aborted("+what+")";err(what);ABORT=true;what+=". Build with -sASSERTIONS for more info.";var e=new WebAssembly.RuntimeError(what);readyPromiseReject(e);throw e}var wasmBinaryFile;function findWasmBinary(){if(Module["locateFile"]){return locateFile("c4w.wasm")}return new URL("c4w.wasm",import.meta.url).href}function getBinarySync(file){if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}throw"both async and sync fetching of the wasm failed"}async function getWasmBinary(binaryFile){if(!wasmBinary){try{var response=await readAsync(binaryFile);return new Uint8Array(response)}catch{}}return getBinarySync(binaryFile)}async function instantiateArrayBuffer(binaryFile,imports){try{var binary=await getWasmBinary(binaryFile);var instance=await WebAssembly.instantiate(binary,imports);return instance}catch(reason){err(`failed to asynchronously prepare wasm: ${reason}`);abort(reason)}}async function instantiateAsync(binary,binaryFile,imports){if(!binary&&typeof WebAssembly.instantiateStreaming=="function"){try{var response=fetch(binaryFile,{credentials:"same-origin"});var instantiationResult=await WebAssembly.instantiateStreaming(response,imports);return instantiationResult}catch(reason){err(`wasm streaming compile failed: ${reason}`);err("falling back to ArrayBuffer instantiation")}}return instantiateArrayBuffer(binaryFile,imports)}function getWasmImports(){return{a:wasmImports}}async function createWasm(){function receiveInstance(instance,module){wasmExports=instance.exports;wasmMemory=wasmExports["r"];updateMemoryViews();removeRunDependency("wasm-instantiate");return wasmExports}addRunDependency("wasm-instantiate");function receiveInstantiationResult(result){return receiveInstance(result["instance"])}var info=getWasmImports();if(Module["instantiateWasm"]){return new Promise((resolve,reject)=>{Module["instantiateWasm"](info,(mod,inst)=>{receiveInstance(mod,inst);resolve(mod.exports)})})}wasmBinaryFile??=findWasmBinary();try{var result=await instantiateAsync(wasmBinary,wasmBinaryFile,info);var exports=receiveInstantiationResult(result);return exports}catch(e){readyPromiseReject(e);return Promise.reject(e)}}var ASM_CONSTS={199564:($0,$1)=>{var keyStr=UTF8ToString($0);var data=Module.storage.get(keyStr);if(data){var bufferPtr=_c4w_buffer_alloc($1,data.length);HEAPU8.set(data,bufferPtr);return 1}return 0},199752:($0,$1,$2)=>{var keyStr=UTF8ToString($0);var array=new Uint8Array($2);array.set(HEAPU8.subarray($1,$1+$2));Module.storage.set(keyStr,array)},199895:$0=>{var keyStr=UTF8ToString($0);Module.storage.del(keyStr)}};class ExitStatus{name="ExitStatus";constructor(status){this.message=`Program terminated with exit(${status})`;this.status=status}}var callRuntimeCallbacks=callbacks=>{while(callbacks.length>0){callbacks.shift()(Module)}};var onPostRuns=[];var addOnPostRun=cb=>onPostRuns.unshift(cb);var onPreRuns=[];var addOnPreRun=cb=>onPreRuns.unshift(cb);var noExitRuntime=Module["noExitRuntime"]||true;var stackRestore=val=>__emscripten_stack_restore(val);var stackSave=()=>_emscripten_stack_get_current();var UTF8Decoder=typeof TextDecoder!="undefined"?new TextDecoder:undefined;var UTF8ArrayToString=(heapOrArray,idx=0,maxBytesToRead=NaN)=>{var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heapOrArray[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heapOrArray.buffer&&UTF8Decoder){return UTF8Decoder.decode(heapOrArray.subarray(idx,endPtr))}var str="";while(idx<endPtr){var u0=heapOrArray[idx++];if(!(u0&128)){str+=String.fromCharCode(u0);continue}var u1=heapOrArray[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}var u2=heapOrArray[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u0=(u0&7)<<18|u1<<12|u2<<6|heapOrArray[idx++]&63}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}return str};var UTF8ToString=(ptr,maxBytesToRead)=>ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):"";var ___assert_fail=(condition,filename,line,func)=>abort(`Assertion failed: ${UTF8ToString(condition)}, at: `+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"]);class ExceptionInfo{constructor(excPtr){this.excPtr=excPtr;this.ptr=excPtr-24}set_type(type){HEAPU32[this.ptr+4>>2]=type}get_type(){return HEAPU32[this.ptr+4>>2]}set_destructor(destructor){HEAPU32[this.ptr+8>>2]=destructor}get_destructor(){return HEAPU32[this.ptr+8>>2]}set_caught(caught){caught=caught?1:0;HEAP8[this.ptr+12]=caught}get_caught(){return HEAP8[this.ptr+12]!=0}set_rethrown(rethrown){rethrown=rethrown?1:0;HEAP8[this.ptr+13]=rethrown}get_rethrown(){return HEAP8[this.ptr+13]!=0}init(type,destructor){this.set_adjusted_ptr(0);this.set_type(type);this.set_destructor(destructor)}set_adjusted_ptr(adjustedPtr){HEAPU32[this.ptr+16>>2]=adjustedPtr}get_adjusted_ptr(){return HEAPU32[this.ptr+16>>2]}}var exceptionLast=0;var uncaughtExceptionCount=0;var ___cxa_throw=(ptr,type,destructor)=>{var info=new ExceptionInfo(ptr);info.init(type,destructor);exceptionLast=ptr;uncaughtExceptionCount++;throw exceptionLast};var SYSCALLS={varargs:undefined,getStr(ptr){var ret=UTF8ToString(ptr);return ret}};function ___syscall_fcntl64(fd,cmd,varargs){SYSCALLS.varargs=varargs;return 0}function ___syscall_ioctl(fd,op,varargs){SYSCALLS.varargs=varargs;return 0}function ___syscall_openat(dirfd,path,flags,varargs){SYSCALLS.varargs=varargs}var __abort_js=()=>abort("");var stringToUTF8Array=(str,heap,outIdx,maxBytesToWrite)=>{if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx};var stringToUTF8=(str,outPtr,maxBytesToWrite)=>stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite);var __tzset_js=(timezone,daylight,std_name,dst_name)=>{var currentYear=(new Date).getFullYear();var winter=new Date(currentYear,0,1);var summer=new Date(currentYear,6,1);var winterOffset=winter.getTimezoneOffset();var summerOffset=summer.getTimezoneOffset();var stdTimezoneOffset=Math.max(winterOffset,summerOffset);HEAPU32[timezone>>2]=stdTimezoneOffset*60;HEAP32[daylight>>2]=Number(winterOffset!=summerOffset);var extractZone=timezoneOffset=>{var sign=timezoneOffset>=0?"-":"+";var absOffset=Math.abs(timezoneOffset);var hours=String(Math.floor(absOffset/60)).padStart(2,"0");var minutes=String(absOffset%60).padStart(2,"0");return`UTC${sign}${hours}${minutes}`};var winterName=extractZone(winterOffset);var summerName=extractZone(summerOffset);if(summerOffset<winterOffset){stringToUTF8(winterName,std_name,17);stringToUTF8(summerName,dst_name,17)}else{stringToUTF8(winterName,dst_name,17);stringToUTF8(summerName,std_name,17)}};var readEmAsmArgsArray=[];var readEmAsmArgs=(sigPtr,buf)=>{readEmAsmArgsArray.length=0;var ch;while(ch=HEAPU8[sigPtr++]){var wide=ch!=105;wide&=ch!=112;buf+=wide&&buf%8?4:0;readEmAsmArgsArray.push(ch==112?HEAPU32[buf>>2]:ch==106?HEAP64[buf>>3]:ch==105?HEAP32[buf>>2]:HEAPF64[buf>>3]);buf+=wide?8:4}return readEmAsmArgsArray};var runEmAsmFunction=(code,sigPtr,argbuf)=>{var args=readEmAsmArgs(sigPtr,argbuf);return ASM_CONSTS[code](...args)};var _emscripten_asm_const_int=(code,sigPtr,argbuf)=>runEmAsmFunction(code,sigPtr,argbuf);var _emscripten_date_now=()=>Date.now();var getHeapMax=()=>2147483648;var alignMemory=(size,alignment)=>Math.ceil(size/alignment)*alignment;var growMemory=size=>{var b=wasmMemory.buffer;var pages=(size-b.byteLength+65535)/65536|0;try{wasmMemory.grow(pages);updateMemoryViews();return 1}catch(e){}};var _emscripten_resize_heap=requestedSize=>{var oldSize=HEAPU8.length;requestedSize>>>=0;var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){return false}for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignMemory(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=growMemory(newSize);if(replacement){return true}}return false};var ENV={};var getExecutableName=()=>thisProgram||"./this.program";var getEnvStrings=()=>{if(!getEnvStrings.strings){var lang=(typeof navigator=="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8";var env={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:lang,_:getExecutableName()};for(var x in ENV){if(ENV[x]===undefined)delete env[x];else env[x]=ENV[x]}var strings=[];for(var x in env){strings.push(`${x}=${env[x]}`)}getEnvStrings.strings=strings}return getEnvStrings.strings};var stringToAscii=(str,buffer)=>{for(var i=0;i<str.length;++i){HEAP8[buffer++]=str.charCodeAt(i)}HEAP8[buffer]=0};var _environ_get=(__environ,environ_buf)=>{var bufSize=0;getEnvStrings().forEach((string,i)=>{var ptr=environ_buf+bufSize;HEAPU32[__environ+i*4>>2]=ptr;stringToAscii(string,ptr);bufSize+=string.length+1});return 0};var _environ_sizes_get=(penviron_count,penviron_buf_size)=>{var strings=getEnvStrings();HEAPU32[penviron_count>>2]=strings.length;var bufSize=0;strings.forEach(string=>bufSize+=string.length+1);HEAPU32[penviron_buf_size>>2]=bufSize;return 0};var runtimeKeepaliveCounter=0;var keepRuntimeAlive=()=>noExitRuntime||runtimeKeepaliveCounter>0;var _proc_exit=code=>{EXITSTATUS=code;if(!keepRuntimeAlive()){Module["onExit"]?.(code);ABORT=true}quit_(code,new ExitStatus(code))};var exitJS=(status,implicit)=>{EXITSTATUS=status;_proc_exit(status)};var _exit=exitJS;var _fd_close=fd=>52;var _fd_read=(fd,iov,iovcnt,pnum)=>52;var INT53_MAX=9007199254740992;var INT53_MIN=-9007199254740992;var bigintToI53Checked=num=>num<INT53_MIN||num>INT53_MAX?NaN:Number(num);function _fd_seek(fd,offset,whence,newOffset){offset=bigintToI53Checked(offset);return 70}var printCharBuffers=[null,[],[]];var printChar=(stream,curr)=>{var buffer=printCharBuffers[stream];if(curr===0||curr===10){(stream===1?out:err)(UTF8ArrayToString(buffer));buffer.length=0}else{buffer.push(curr)}};var _fd_write=(fd,iov,iovcnt,pnum)=>{var num=0;for(var i=0;i<iovcnt;i++){var ptr=HEAPU32[iov>>2];var len=HEAPU32[iov+4>>2];iov+=8;for(var j=0;j<len;j++){printChar(fd,HEAPU8[ptr+j])}num+=len}HEAPU32[pnum>>2]=num;return 0};var getCFunc=ident=>{var func=Module["_"+ident];return func};var writeArrayToMemory=(array,buffer)=>{HEAP8.set(array,buffer)};var lengthBytesUTF8=str=>{var len=0;for(var i=0;i<str.length;++i){var c=str.charCodeAt(i);if(c<=127){len++}else if(c<=2047){len+=2}else if(c>=55296&&c<=57343){len+=4;++i}else{len+=3}}return len};var stackAlloc=sz=>__emscripten_stack_alloc(sz);var stringToUTF8OnStack=str=>{var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8(str,ret,size);return ret};var ccall=(ident,returnType,argTypes,args,opts)=>{var toC={string:str=>{var ret=0;if(str!==null&&str!==undefined&&str!==0){ret=stringToUTF8OnStack(str)}return ret},array:arr=>{var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType==="string"){return UTF8ToString(ret)}if(returnType==="boolean")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i<args.length;i++){var converter=toC[argTypes[i]];if(converter){if(stack===0)stack=stackSave();cArgs[i]=converter(args[i])}else{cArgs[i]=args[i]}}}var ret=func(...cArgs);function onDone(ret){if(stack!==0)stackRestore(stack);return convertReturnValue(ret)}ret=onDone(ret);return ret};var cwrap=(ident,returnType,argTypes,opts)=>{var numericArgs=!argTypes||argTypes.every(type=>type==="number"||type==="boolean");var numericRet=returnType!=="string";if(numericRet&&numericArgs&&!opts){return getCFunc(ident)}return(...args)=>ccall(ident,returnType,argTypes,args,opts)};var wasmImports={a:___assert_fail,b:___cxa_throw,f:___syscall_fcntl64,j:___syscall_ioctl,k:___syscall_openat,m:__abort_js,l:__tzset_js,d:_emscripten_asm_const_int,g:_emscripten_date_now,n:_emscripten_resize_heap,p:_environ_get,q:_environ_sizes_get,c:_exit,h:_fd_close,i:_fd_read,o:_fd_seek,e:_fd_write};var wasmExports=await createWasm();var ___wasm_call_ctors=wasmExports["s"];var _c4w_create_proof_ctx=Module["_c4w_create_proof_ctx"]=wasmExports["t"];var _c4w_free_proof_ctx=Module["_c4w_free_proof_ctx"]=wasmExports["u"];var _c4w_execute_proof_ctx=Module["_c4w_execute_proof_ctx"]=wasmExports["v"];var _c4w_req_set_response=Module["_c4w_req_set_response"]=wasmExports["w"];var _c4w_req_set_error=Module["_c4w_req_set_error"]=wasmExports["x"];var _c4w_create_verify_ctx=Module["_c4w_create_verify_ctx"]=wasmExports["y"];var _c4w_free_verify_ctx=Module["_c4w_free_verify_ctx"]=wasmExports["z"];var _free=Module["_free"]=wasmExports["A"];var _c4w_verify_proof=Module["_c4w_verify_proof"]=wasmExports["B"];var _c4w_get_method_type=Module["_c4w_get_method_type"]=wasmExports["C"];var _c4w_create_rpc_ctx=Module["_c4w_create_rpc_ctx"]=wasmExports["D"];var _c4w_execute_rpc_ctx=Module["_c4w_execute_rpc_ctx"]=wasmExports["E"];var _c4w_free_rpc_ctx=Module["_c4w_free_rpc_ctx"]=wasmExports["F"];var _c4w_set_checkpoint=Module["_c4w_set_checkpoint"]=wasmExports["G"];var _c4w_rpc_ctx_set_witness_keys=Module["_c4w_rpc_ctx_set_witness_keys"]=wasmExports["H"];var _c4w_rpc_ctx_set_proxy_urls=Module["_c4w_rpc_ctx_set_proxy_urls"]=wasmExports["I"];var _c4w_decode_proof=Module["_c4w_decode_proof"]=wasmExports["J"];var _c4w_req_free=Module["_c4w_req_free"]=wasmExports["K"];var _c4w_buffer_alloc=Module["_c4w_buffer_alloc"]=wasmExports["L"];var _init_storage=Module["_init_storage"]=wasmExports["M"];var _c4w_get_current_version_number=Module["_c4w_get_current_version_number"]=wasmExports["N"];var _malloc=Module["_malloc"]=wasmExports["P"];var __emscripten_stack_restore=wasmExports["Q"];var __emscripten_stack_alloc=wasmExports["R"];var _emscripten_stack_get_current=wasmExports["S"];Module["ccall"]=ccall;Module["cwrap"]=cwrap;Module["UTF8ToString"]=UTF8ToString;Module["stringToUTF8"]=stringToUTF8;function run(){if(runDependencies>0){dependenciesFulfilled=run;return}preRun();if(runDependencies>0){dependenciesFulfilled=run;return}function doRun(){Module["calledRun"]=true;if(ABORT)return;initRuntime();readyPromiseResolve(Module);Module["onRuntimeInitialized"]?.();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(()=>{setTimeout(()=>Module["setStatus"](""),1);doRun()},1)}else{doRun()}}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}run();moduleRtn=readyPromise;
|
|
9
9
|
|
|
10
10
|
|
|
11
11
|
return moduleRtn;
|
package/c4w.wasm
CHANGED
|
Binary file
|
package/chains.js
CHANGED
|
@@ -47,10 +47,10 @@ export const default_config = {
|
|
|
47
47
|
},
|
|
48
48
|
'10200': {
|
|
49
49
|
alias: ["chiado", "0x27d8"],
|
|
50
|
-
beacon_apis: ["https://
|
|
50
|
+
beacon_apis: ["https://chiado.colibri-proof.tech/consensus/"],
|
|
51
51
|
rpcs: ["https://gnosis-chiado-rpc.publicnode.com"],
|
|
52
52
|
prover: ["https://chiado.colibri-proof.tech"],
|
|
53
|
-
checkpointz: [], // No public checkpointz for Chiado yet
|
|
53
|
+
checkpointz: ["https://chiado.colibri-proof.tech/consensus/"], // No public checkpointz for Chiado yet
|
|
54
54
|
pollingInterval: 5000,
|
|
55
55
|
},
|
|
56
56
|
};
|
package/cjs/chains.js
CHANGED
|
@@ -52,10 +52,10 @@ exports.default_config = {
|
|
|
52
52
|
},
|
|
53
53
|
'10200': {
|
|
54
54
|
alias: ["chiado", "0x27d8"],
|
|
55
|
-
beacon_apis: ["https://
|
|
55
|
+
beacon_apis: ["https://chiado.colibri-proof.tech/consensus/"],
|
|
56
56
|
rpcs: ["https://gnosis-chiado-rpc.publicnode.com"],
|
|
57
57
|
prover: ["https://chiado.colibri-proof.tech"],
|
|
58
|
-
checkpointz: [], // No public checkpointz for Chiado yet
|
|
58
|
+
checkpointz: ["https://chiado.colibri-proof.tech/consensus/"], // No public checkpointz for Chiado yet
|
|
59
59
|
pollingInterval: 5000,
|
|
60
60
|
},
|
|
61
61
|
};
|
package/cjs/http.js
CHANGED
|
@@ -87,6 +87,20 @@ function log(msg) {
|
|
|
87
87
|
* @param as_proof Expect octet-stream (true) or JSON result (false)
|
|
88
88
|
* @return result value for JSON or raw bytes for proofs
|
|
89
89
|
*/
|
|
90
|
+
// Branded error type for JSON-RPC responses that carry revert data
|
|
91
|
+
// (EIP-3668 / CCIP-Read style). The brand lets the catch block distinguish
|
|
92
|
+
// deterministic node responses from transport-layer errors (Node `fetch`
|
|
93
|
+
// throws TypeErrors whose `code` is a string like 'ENOTFOUND') so failover
|
|
94
|
+
// continues for transient issues but not for verified reverts.
|
|
95
|
+
class JsonRpcRevertError extends Error {
|
|
96
|
+
constructor(message, code, data) {
|
|
97
|
+
super(message);
|
|
98
|
+
this.name = 'JsonRpcRevertError';
|
|
99
|
+
if (typeof code === 'number')
|
|
100
|
+
this.code = code;
|
|
101
|
+
this.data = data;
|
|
102
|
+
}
|
|
103
|
+
}
|
|
90
104
|
async function fetch_rpc(urls, payload, as_proof = false, fetchFn = globalThis.fetch) {
|
|
91
105
|
let last_error = 'All nodes failed';
|
|
92
106
|
for (const url of urls) {
|
|
@@ -103,6 +117,14 @@ async function fetch_rpc(urls, payload, as_proof = false, fetchFn = globalThis.f
|
|
|
103
117
|
if (!as_proof) {
|
|
104
118
|
const res = await response.json();
|
|
105
119
|
if (res.error) {
|
|
120
|
+
// Preserve `error.data` for JSON-RPC errors that carry revert
|
|
121
|
+
// bytes (e.g. eth_call revert with code 3 + ABI-encoded
|
|
122
|
+
// OffchainLookup payload). These are deterministic per-block
|
|
123
|
+
// responses; failover would just produce the same answer. All
|
|
124
|
+
// other errors (rate limits, invalid params, node-internal)
|
|
125
|
+
// remain transient and fall through to the next URL.
|
|
126
|
+
if (res.error.data !== undefined)
|
|
127
|
+
throw new JsonRpcRevertError(res.error.message || 'execution reverted', res.error.code, res.error.data);
|
|
106
128
|
last_error = res.error?.message || res.error;
|
|
107
129
|
continue;
|
|
108
130
|
}
|
|
@@ -116,6 +138,12 @@ async function fetch_rpc(urls, payload, as_proof = false, fetchFn = globalThis.f
|
|
|
116
138
|
}
|
|
117
139
|
}
|
|
118
140
|
catch (e) {
|
|
141
|
+
// Only short-circuit on revert errors we built ourselves above.
|
|
142
|
+
// Node's `fetch` (undici) throws TypeErrors whose `code` is a string
|
|
143
|
+
// (e.g. 'ENOTFOUND', 'UND_ERR_HEADERS_TIMEOUT') -- those must still
|
|
144
|
+
// fall through to the next URL so multi-RPC failover keeps working.
|
|
145
|
+
if (e instanceof JsonRpcRevertError)
|
|
146
|
+
throw e;
|
|
119
147
|
last_error = 'Request to ' + url + ' failed: ' + ((e instanceof Error) ? e.message : String(e));
|
|
120
148
|
}
|
|
121
149
|
}
|
package/cjs/index.js
CHANGED
|
@@ -44,6 +44,13 @@ Object.defineProperty(exports, "decode_proof", { enumerable: true, get: function
|
|
|
44
44
|
var transactionVerifier_js_2 = require("./transactionVerifier.js");
|
|
45
45
|
Object.defineProperty(exports, "TransactionVerifier", { enumerable: true, get: function () { return transactionVerifier_js_2.TransactionVerifier; } });
|
|
46
46
|
Object.defineProperty(exports, "PrototypeProtection", { enumerable: true, get: function () { return transactionVerifier_js_2.PrototypeProtection; } });
|
|
47
|
+
// EIP-3668 / CCIP-Read: the EVM ran to completion but reverted. Map the
|
|
48
|
+
// verifier's `revert` status to a structured EIP-1193 error (code 3 + data)
|
|
49
|
+
// so clients like ethers can decode OffchainLookup payloads from
|
|
50
|
+
// `error.data` and fetch the offchain gateway.
|
|
51
|
+
function throwRevert(data) {
|
|
52
|
+
throw new types_js_1.ProviderRpcError(3, "execution reverted", data);
|
|
53
|
+
}
|
|
47
54
|
class C4Client {
|
|
48
55
|
/**
|
|
49
56
|
* Creates a new Colibri client instance.
|
|
@@ -167,6 +174,8 @@ class C4Client {
|
|
|
167
174
|
switch (state.status) {
|
|
168
175
|
case "success":
|
|
169
176
|
return state.result;
|
|
177
|
+
case "revert":
|
|
178
|
+
throwRevert(state.data);
|
|
170
179
|
case "error":
|
|
171
180
|
throw new Error(state.error);
|
|
172
181
|
case "pending": {
|
|
@@ -226,6 +235,8 @@ class C4Client {
|
|
|
226
235
|
switch (state.status) {
|
|
227
236
|
case "success":
|
|
228
237
|
return state.result;
|
|
238
|
+
case "revert":
|
|
239
|
+
throwRevert(state.data);
|
|
229
240
|
case "error":
|
|
230
241
|
throw new Error(state.error);
|
|
231
242
|
case "pending":
|
package/cjs/strategy.js
CHANGED
|
@@ -94,6 +94,14 @@ async function WarningStrategy(client, req, config, fetch_rpc) {
|
|
|
94
94
|
return fetch_unverified_rpc(config, req, fetch_rpc);
|
|
95
95
|
case types_js_1.MethodType.PROOFABLE: {
|
|
96
96
|
return client.rpc(req.method, argsToArray(req.params), method_type).catch(async (err) => {
|
|
97
|
+
// An EVM revert is a fully verified outcome, not a verification
|
|
98
|
+
// failure. Propagate it as-is so callers (e.g. ethers) can decode
|
|
99
|
+
// OffchainLookup / custom error data instead of silently falling
|
|
100
|
+
// back to an unverified RPC call. The only producer of code-3
|
|
101
|
+
// ProviderRpcErrors is `client.rpc`, so an instanceof check is
|
|
102
|
+
// both sufficient and the strictest predicate.
|
|
103
|
+
if (err instanceof types_js_1.ProviderRpcError && err.code === 3)
|
|
104
|
+
throw err;
|
|
97
105
|
if (config.warningHandler)
|
|
98
106
|
await config.warningHandler(req, `[Warning] ${req.method} with params ${JSON.stringify(req.params)} failed to be verfiy: ${err.message}, falling back to Default`);
|
|
99
107
|
else
|
package/http.d.ts
CHANGED
|
@@ -13,13 +13,6 @@ export declare function fetch_from_servers(servers: string[], path: string, meth
|
|
|
13
13
|
data: Uint8Array;
|
|
14
14
|
nodeIndex: number;
|
|
15
15
|
}>;
|
|
16
|
-
/**
|
|
17
|
-
* Posts a JSON-RPC payload across multiple URLs and returns result or proof bytes.
|
|
18
|
-
* @param urls Ordered list of RPC endpoints
|
|
19
|
-
* @param payload JSON-RPC payload (id will be set to 1 if not provided)
|
|
20
|
-
* @param as_proof Expect octet-stream (true) or JSON result (false)
|
|
21
|
-
* @return result value for JSON or raw bytes for proofs
|
|
22
|
-
*/
|
|
23
16
|
export declare function fetch_rpc(urls: string[], payload: any, as_proof?: boolean, fetchFn?: typeof globalThis.fetch): Promise<any>;
|
|
24
17
|
/**
|
|
25
18
|
* Handles a C4 data request by fetching from configured servers, setting the
|
package/http.js
CHANGED
|
@@ -82,6 +82,20 @@ function log(msg) {
|
|
|
82
82
|
* @param as_proof Expect octet-stream (true) or JSON result (false)
|
|
83
83
|
* @return result value for JSON or raw bytes for proofs
|
|
84
84
|
*/
|
|
85
|
+
// Branded error type for JSON-RPC responses that carry revert data
|
|
86
|
+
// (EIP-3668 / CCIP-Read style). The brand lets the catch block distinguish
|
|
87
|
+
// deterministic node responses from transport-layer errors (Node `fetch`
|
|
88
|
+
// throws TypeErrors whose `code` is a string like 'ENOTFOUND') so failover
|
|
89
|
+
// continues for transient issues but not for verified reverts.
|
|
90
|
+
class JsonRpcRevertError extends Error {
|
|
91
|
+
constructor(message, code, data) {
|
|
92
|
+
super(message);
|
|
93
|
+
this.name = 'JsonRpcRevertError';
|
|
94
|
+
if (typeof code === 'number')
|
|
95
|
+
this.code = code;
|
|
96
|
+
this.data = data;
|
|
97
|
+
}
|
|
98
|
+
}
|
|
85
99
|
export async function fetch_rpc(urls, payload, as_proof = false, fetchFn = globalThis.fetch) {
|
|
86
100
|
let last_error = 'All nodes failed';
|
|
87
101
|
for (const url of urls) {
|
|
@@ -98,6 +112,14 @@ export async function fetch_rpc(urls, payload, as_proof = false, fetchFn = globa
|
|
|
98
112
|
if (!as_proof) {
|
|
99
113
|
const res = await response.json();
|
|
100
114
|
if (res.error) {
|
|
115
|
+
// Preserve `error.data` for JSON-RPC errors that carry revert
|
|
116
|
+
// bytes (e.g. eth_call revert with code 3 + ABI-encoded
|
|
117
|
+
// OffchainLookup payload). These are deterministic per-block
|
|
118
|
+
// responses; failover would just produce the same answer. All
|
|
119
|
+
// other errors (rate limits, invalid params, node-internal)
|
|
120
|
+
// remain transient and fall through to the next URL.
|
|
121
|
+
if (res.error.data !== undefined)
|
|
122
|
+
throw new JsonRpcRevertError(res.error.message || 'execution reverted', res.error.code, res.error.data);
|
|
101
123
|
last_error = res.error?.message || res.error;
|
|
102
124
|
continue;
|
|
103
125
|
}
|
|
@@ -111,6 +133,12 @@ export async function fetch_rpc(urls, payload, as_proof = false, fetchFn = globa
|
|
|
111
133
|
}
|
|
112
134
|
}
|
|
113
135
|
catch (e) {
|
|
136
|
+
// Only short-circuit on revert errors we built ourselves above.
|
|
137
|
+
// Node's `fetch` (undici) throws TypeErrors whose `code` is a string
|
|
138
|
+
// (e.g. 'ENOTFOUND', 'UND_ERR_HEADERS_TIMEOUT') -- those must still
|
|
139
|
+
// fall through to the next URL so multi-RPC failover keeps working.
|
|
140
|
+
if (e instanceof JsonRpcRevertError)
|
|
141
|
+
throw e;
|
|
114
142
|
last_error = 'Request to ' + url + ' failed: ' + ((e instanceof Error) ? e.message : String(e));
|
|
115
143
|
}
|
|
116
144
|
}
|
package/index.js
CHANGED
|
@@ -37,6 +37,13 @@ export { set_wasm_url, decode_proof } from "./wasm.js";
|
|
|
37
37
|
export { ProviderRpcError, C4MethodType as MethodType };
|
|
38
38
|
// Re-export transaction verification utilities
|
|
39
39
|
export { TransactionVerifier, PrototypeProtection } from './transactionVerifier.js';
|
|
40
|
+
// EIP-3668 / CCIP-Read: the EVM ran to completion but reverted. Map the
|
|
41
|
+
// verifier's `revert` status to a structured EIP-1193 error (code 3 + data)
|
|
42
|
+
// so clients like ethers can decode OffchainLookup payloads from
|
|
43
|
+
// `error.data` and fetch the offchain gateway.
|
|
44
|
+
function throwRevert(data) {
|
|
45
|
+
throw new ProviderRpcError(3, "execution reverted", data);
|
|
46
|
+
}
|
|
40
47
|
class C4Client {
|
|
41
48
|
/**
|
|
42
49
|
* Creates a new Colibri client instance.
|
|
@@ -160,6 +167,8 @@ class C4Client {
|
|
|
160
167
|
switch (state.status) {
|
|
161
168
|
case "success":
|
|
162
169
|
return state.result;
|
|
170
|
+
case "revert":
|
|
171
|
+
throwRevert(state.data);
|
|
163
172
|
case "error":
|
|
164
173
|
throw new Error(state.error);
|
|
165
174
|
case "pending": {
|
|
@@ -219,6 +228,8 @@ class C4Client {
|
|
|
219
228
|
switch (state.status) {
|
|
220
229
|
case "success":
|
|
221
230
|
return state.result;
|
|
231
|
+
case "revert":
|
|
232
|
+
throwRevert(state.data);
|
|
222
233
|
case "error":
|
|
223
234
|
throw new Error(state.error);
|
|
224
235
|
case "pending":
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@corpus-core/colibri-stateless",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.25",
|
|
4
4
|
"description": "Colibri is a stateless and trustless ethereum client, which is optimized for the mobile apps or embedded devices, because it does not hols the state, but verifies on demand.",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"type": "module",
|
|
@@ -16,6 +16,7 @@
|
|
|
16
16
|
"test": "npm run test:node && npm run test:webpack",
|
|
17
17
|
"test:node": "node --test test/rpc.test.mjs test/cjs_bridge.test.mjs",
|
|
18
18
|
"test:integration": "C4_RUN_INTEGRATION=1 node --test test/integration.test.mjs",
|
|
19
|
+
"test:ccip": "C4_RUN_INTEGRATION=1 node --test test/ens_ccip.test.mjs",
|
|
19
20
|
"test:webpack": "npm run webpack:install && npm run webpack:build",
|
|
20
21
|
"webpack:install": "cd test/webpack && npm install --legacy-peer-deps",
|
|
21
22
|
"webpack:build": "cd test/webpack && npm run build",
|
|
@@ -53,6 +54,9 @@
|
|
|
53
54
|
},
|
|
54
55
|
"homepage": "https://github.com/corpus-core/c4#readme",
|
|
55
56
|
"dependencies": {},
|
|
57
|
+
"devDependencies": {
|
|
58
|
+
"ethers": "^6.16.0"
|
|
59
|
+
},
|
|
56
60
|
"publishConfig": {
|
|
57
61
|
"access": "public"
|
|
58
62
|
}
|
package/strategy.js
CHANGED
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
*
|
|
21
21
|
* SPDX-License-Identifier: MIT
|
|
22
22
|
*/
|
|
23
|
-
import { MethodType } from './types.js';
|
|
23
|
+
import { MethodType, ProviderRpcError } from './types.js';
|
|
24
24
|
function argsToArray(args) {
|
|
25
25
|
return Array.isArray(args) ? args : (args ? [args] : []);
|
|
26
26
|
}
|
|
@@ -92,6 +92,14 @@ async function WarningStrategy(client, req, config, fetch_rpc) {
|
|
|
92
92
|
return fetch_unverified_rpc(config, req, fetch_rpc);
|
|
93
93
|
case MethodType.PROOFABLE: {
|
|
94
94
|
return client.rpc(req.method, argsToArray(req.params), method_type).catch(async (err) => {
|
|
95
|
+
// An EVM revert is a fully verified outcome, not a verification
|
|
96
|
+
// failure. Propagate it as-is so callers (e.g. ethers) can decode
|
|
97
|
+
// OffchainLookup / custom error data instead of silently falling
|
|
98
|
+
// back to an unverified RPC call. The only producer of code-3
|
|
99
|
+
// ProviderRpcErrors is `client.rpc`, so an instanceof check is
|
|
100
|
+
// both sufficient and the strictest predicate.
|
|
101
|
+
if (err instanceof ProviderRpcError && err.code === 3)
|
|
102
|
+
throw err;
|
|
95
103
|
if (config.warningHandler)
|
|
96
104
|
await config.warningHandler(req, `[Warning] ${req.method} with params ${JSON.stringify(req.params)} failed to be verfiy: ${err.message}, falling back to Default`);
|
|
97
105
|
else
|