Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
B
baas-ide
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
JIRA
JIRA
Merge Requests
1
Merge Requests
1
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
guxukai
baas-ide
Commits
11519344
Commit
11519344
authored
Dec 23, 2020
by
aniket-engg
Committed by
Aniket
Jan 04, 2021
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
swarm import using web3-bzz
parent
d95b20d7
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
47 additions
and
2 deletions
+47
-2
resolve.ts
libs/remix-url-resolver/src/resolve.ts
+10
-2
test.ts
libs/remix-url-resolver/tests/test.ts
+37
-0
No files found.
libs/remix-url-resolver/src/resolve.ts
View file @
11519344
import
axios
,
{
AxiosResponse
}
from
'axios'
import
axios
,
{
AxiosResponse
}
from
'axios'
var
Bzz
=
require
(
'web3-bzz'
);
export
interface
Imported
{
export
interface
Imported
{
content
:
string
;
content
:
string
;
...
@@ -86,8 +87,15 @@ export class RemixURLResolver {
...
@@ -86,8 +87,15 @@ export class RemixURLResolver {
}
}
}
}
handleSwarm
(
url
:
string
,
cleanUrl
:
string
)
{
async
handleSwarm
(
url
:
string
,
cleanUrl
:
string
):
Promise
<
HandlerResponse
>
{
return
//eslint-disable-next-line no-useless-catch
try
{
const
bzz
=
new
Bzz
(
Bzz
.
givenProvider
||
'http://swarm-gateways.net'
);
const
contentInBuffer
=
await
bzz
.
download
(
url
)
return
{
content
:
contentInBuffer
.
toString
(),
cleanUrl
}
}
catch
(
e
)
{
throw
e
}
}
}
/**
/**
...
...
libs/remix-url-resolver/tests/test.ts
View file @
11519344
...
@@ -31,6 +31,12 @@ describe('testRunner', () => {
...
@@ -31,6 +31,12 @@ describe('testRunner', () => {
// handle: (match: Array<string>) => { return handleLocal(match[2], match[3]) }
// handle: (match: Array<string>) => { return handleLocal(match[2], match[3]) }
// }
// }
// ]
// ]
// browser/greeter.sol :
// bzz-raw://a728627437140f2b0b46c1bcfb0de2126d18b40e9b61c3e31bd96abebf714619
// browser/mortal.sol :
// bzz-raw://bbd213997d71870470ad72e9b4a74d7898d11bfd3bfc483220f9fd0721607bff
// metadata.json :
// bzz-raw://ce595759fa991e3b165b280c9376f073c1d9d5591edaadf05fe76ddef8909249
// urlResolver.resolve(fileName, localFSHandler)
// urlResolver.resolve(fileName, localFSHandler)
// .then((sources: object) => {
// .then((sources: object) => {
// results = sources
// results = sources
...
@@ -172,6 +178,37 @@ describe('testRunner', () => {
...
@@ -172,6 +178,37 @@ describe('testRunner', () => {
assert
.
deepEqual
(
results
,
expt
)
assert
.
deepEqual
(
results
,
expt
)
})
})
})
})
// Test SWARM imports
describe
(
'test getting SWARM imports'
,
()
=>
{
const
urlResolver
=
new
RemixURLResolver
()
const
fileName
=
'bzz-raw://a728627437140f2b0b46c1bcfb0de2126d18b40e9b61c3e31bd96abebf714619'
let
results
:
object
=
{}
before
(
done
=>
{
urlResolver
.
resolve
(
fileName
)
.
then
((
sources
:
object
)
=>
{
results
=
sources
done
()
})
.
catch
((
e
:
Error
)
=>
{
throw
e
})
})
it
(
'should have 3 items'
,
()
=>
{
assert
.
equal
(
Object
.
keys
(
results
).
length
,
3
)
})
it
(
'should return contract content from raw github url'
,
()
=>
{
const
content
=
fs
.
readFileSync
(
__dirname
+
'/example_1/greeter.sol'
,
{
encoding
:
'utf8'
})
const
expt
:
object
=
{
content
:
content
,
cleanUrl
:
'a728627437140f2b0b46c1bcfb0de2126d18b40e9b61c3e31bd96abebf714619'
,
type
:
'swarm'
}
assert
.
deepEqual
(
results
,
expt
)
})
})
})
})
})
})
})
})
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment