2023-03-07 20:07:52 +04:00
|
|
|
const fluence = globalThis.fluence;
|
2023-02-13 17:41:35 +03:00
|
|
|
|
|
|
|
const relay = {
|
2023-06-20 21:52:41 +02:00
|
|
|
multiaddr: '/ip4/127.0.0.1/tcp/9991/ws/p2p/12D3KooWBM3SdXWqGaawQDGQ6JprtwswEg3FWGvGhmgmMez1vRbR',
|
|
|
|
peerId: '12D3KooWBM3SdXWqGaawQDGQ6JprtwswEg3FWGvGhmgmMez1vRbR',
|
2023-02-13 17:41:35 +03:00
|
|
|
};
|
|
|
|
|
2023-03-07 20:07:52 +04:00
|
|
|
const getRelayTime = () => {
|
2023-02-13 17:41:35 +03:00
|
|
|
const script = `
|
|
|
|
(xor
|
|
|
|
(seq
|
|
|
|
(seq
|
|
|
|
(seq
|
|
|
|
(seq
|
|
|
|
(call %init_peer_id% ("getDataSrv" "-relay-") [] -relay-)
|
|
|
|
(call %init_peer_id% ("getDataSrv" "relayPeerId") [] relayPeerId)
|
|
|
|
)
|
|
|
|
(call -relay- ("op" "noop") [])
|
|
|
|
)
|
|
|
|
(xor
|
|
|
|
(seq
|
|
|
|
(call relayPeerId ("peer" "timestamp_ms") [] ts)
|
|
|
|
(call -relay- ("op" "noop") [])
|
|
|
|
)
|
|
|
|
(seq
|
|
|
|
(call -relay- ("op" "noop") [])
|
|
|
|
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 1])
|
|
|
|
)
|
|
|
|
)
|
|
|
|
)
|
|
|
|
(xor
|
|
|
|
(call %init_peer_id% ("callbackSrv" "response") [ts])
|
|
|
|
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 2])
|
|
|
|
)
|
|
|
|
)
|
|
|
|
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 3])
|
2023-03-07 20:07:52 +04:00
|
|
|
)`;
|
2023-02-13 17:41:35 +03:00
|
|
|
|
|
|
|
const def = {
|
|
|
|
functionName: 'getRelayTime',
|
|
|
|
arrow: {
|
|
|
|
tag: 'arrow',
|
|
|
|
domain: {
|
|
|
|
tag: 'labeledProduct',
|
|
|
|
fields: {
|
|
|
|
relayPeerId: {
|
|
|
|
tag: 'scalar',
|
|
|
|
name: 'string',
|
|
|
|
},
|
|
|
|
},
|
|
|
|
},
|
|
|
|
codomain: {
|
|
|
|
tag: 'unlabeledProduct',
|
|
|
|
items: [
|
|
|
|
{
|
|
|
|
tag: 'scalar',
|
|
|
|
name: 'u64',
|
|
|
|
},
|
|
|
|
],
|
|
|
|
},
|
|
|
|
},
|
|
|
|
names: {
|
|
|
|
relay: '-relay-',
|
|
|
|
getDataSrv: 'getDataSrv',
|
|
|
|
callbackSrv: 'callbackSrv',
|
|
|
|
responseSrv: 'callbackSrv',
|
|
|
|
responseFnName: 'response',
|
|
|
|
errorHandlingSrv: 'errorHandlingSrv',
|
|
|
|
errorFnName: 'error',
|
|
|
|
},
|
|
|
|
};
|
|
|
|
|
|
|
|
const config = {};
|
|
|
|
|
2023-03-07 20:07:52 +04:00
|
|
|
const args = { relayPeerId: relay.peerId };
|
|
|
|
return fluence.callAquaFunction({
|
2023-02-13 17:41:35 +03:00
|
|
|
args,
|
|
|
|
def,
|
|
|
|
script,
|
2023-03-07 20:07:52 +04:00
|
|
|
config,
|
|
|
|
peer: fluence.defaultClient,
|
2023-02-13 17:41:35 +03:00
|
|
|
});
|
|
|
|
};
|
|
|
|
|
|
|
|
const main = async () => {
|
|
|
|
console.log('starting fluence...');
|
2023-03-07 20:07:52 +04:00
|
|
|
await fluence.defaultClient.connect(relay);
|
2023-02-13 17:41:35 +03:00
|
|
|
console.log('started fluence');
|
|
|
|
|
|
|
|
console.log('getting relay time...');
|
2023-03-07 20:07:52 +04:00
|
|
|
const relayTime = await getRelayTime();
|
|
|
|
console.log('got relay time, ', relayTime);
|
2023-02-13 17:41:35 +03:00
|
|
|
|
|
|
|
console.log('stopping fluence...');
|
2023-03-07 20:07:52 +04:00
|
|
|
await fluence.defaultClient.stop();
|
2023-02-13 17:41:35 +03:00
|
|
|
console.log('stopped fluence...');
|
2023-03-07 20:07:52 +04:00
|
|
|
|
|
|
|
return relayTime;
|
2023-02-13 17:41:35 +03:00
|
|
|
};
|
|
|
|
|
2023-03-07 20:07:52 +04:00
|
|
|
const btn = document.getElementById('btn');
|
|
|
|
|
|
|
|
btn.addEventListener('click', () => {
|
|
|
|
main().then((res) => {
|
|
|
|
const inner = document.createElement('div');
|
|
|
|
inner.id = 'res';
|
|
|
|
inner.innerText = 'res';
|
|
|
|
document.getElementById('res-placeholder').appendChild(inner);
|
|
|
|
});
|
|
|
|
});
|