This commit is contained in:
DieMyst 2022-07-12 11:30:03 +03:00
parent 388a744c3e
commit ab9f9b0e09
3 changed files with 52 additions and 20 deletions

View File

@ -45,13 +45,12 @@ service GetArr("getArr"):
getArr: -> []string getArr: -> []string
func getNeighbours() -> []string: func getNeighbours() -> []string:
nodes <- Kademlia.neighborhood("123", nil, nil) nodes <- GetArr.getArr()
<- nodes <- nodes
func bugLNG59() -> string: func bugLNG59() -> string:
on HOST_PEER_ID: nodes <- getNeighbours()
nodes <- GetArr.getArr()
n = nodes[1] n = nodes[1]
on n: on n via [HOST_PEER_ID]:
res <- OpO.identity("some str") res <- OpO.identity("some str")
<- res <- res

View File

@ -581,7 +581,7 @@ export function getNeighbours(...args: any) {
(seq (seq
(seq (seq
(call %init_peer_id% ("getDataSrv" "-relay-") [] -relay-) (call %init_peer_id% ("getDataSrv" "-relay-") [] -relay-)
(call %init_peer_id% ("kad" "neighborhood") ["123" [] []] nodes) (call %init_peer_id% ("getArr" "getArr") [] nodes)
) )
(xor (xor
(call %init_peer_id% ("callbackSrv" "response") [nodes]) (call %init_peer_id% ("callbackSrv" "response") [nodes])
@ -645,33 +645,65 @@ export function bugLNG59(...args: any) {
let script = ` let script = `
(xor (xor
(seq
(seq
(seq
(seq
(seq (seq
(seq (seq
(call %init_peer_id% ("getDataSrv" "-relay-") [] -relay-) (call %init_peer_id% ("getDataSrv" "-relay-") [] -relay-)
(call %init_peer_id% ("getArr" "getArr") [] nodes)
)
(new $array-inline
(seq
(ap -relay- $array-inline)
(call %init_peer_id% ("op" "identity") [$array-inline] array-inline-0)
)
)
)
(call -relay- ("op" "noop") [])
)
(fold array-inline-0 -via-peer-
(seq
(call -via-peer- ("op" "noop") [])
(next -via-peer-)
)
)
)
(xor (xor
(seq (seq
(call -relay- ("getArr" "getArr") [] nodes)
(xor
(seq (seq
(call nodes.$.[1]! ("op" "identity") ["some str"] res) (call nodes.$.[1]! ("op" "identity") ["some str"] res)
(fold array-inline-0 -via-peer-
(seq
(next -via-peer-)
(call -via-peer- ("op" "noop") [])
)
)
)
(call -relay- ("op" "noop") []) (call -relay- ("op" "noop") [])
) )
(seq (seq
(seq
(fold array-inline-0 -via-peer-
(seq
(call -via-peer- ("op" "noop") [])
(next -via-peer-)
)
)
(call -relay- ("op" "noop") []) (call -relay- ("op" "noop") [])
)
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 1]) (call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 1])
) )
) )
) )
(xor
(call %init_peer_id% ("callbackSrv" "response") [res])
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 2]) (call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 2])
) )
) )
(xor
(call %init_peer_id% ("callbackSrv" "response") [res])
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 3]) (call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 3])
) )
)
(call %init_peer_id% ("errorHandlingSrv" "error") [%last_error% 4])
)
` `
return callFunction( return callFunction(
args, args,

View File

@ -31,5 +31,6 @@ export async function bugLNG59Call(nodes: string[]): Promise<string> {
} }
}) })
return bugLNG59() const a = await bugLNG59()
return a
} }