Skip to content
This repository was archived by the owner on Jun 1, 2023. It is now read-only.

Commit 56c1dcc

Browse files
committed
Added gnosis chain & minor fixes
1 parent 6f0bd7b commit 56c1dcc

File tree

8 files changed

+2096
-79
lines changed

8 files changed

+2096
-79
lines changed

package-lock.json

+2,050-50
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

+5-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@bloock/sdk",
3-
"version": "1.5.4",
3+
"version": "1.5.5",
44
"description": "",
55
"keywords": [],
66
"main": "dist/lib/index.js",
@@ -17,11 +17,13 @@
1717
"scripts": {
1818
"prebuild": "rimraf dist",
1919
"build": "tsc --module commonjs",
20-
"start": "tsc --module commonjs && node dist/lib/index.js",
20+
"start": "npm run build && node dist/lib/index.js",
2121
"test": "jest ./src",
2222
"e2e": "jest ./test --testTimeout=60000"
2323
},
2424
"dependencies": {
25+
"@analytics/google-analytics": "^0.5.3",
26+
"analytics": "^0.8.1",
2527
"axios": "^0.21.1",
2628
"blakejs": "^1.1.0",
2729
"buffer": "^5.6.0",
@@ -46,6 +48,7 @@
4648
"@types/pdfmake": "^0.1.21",
4749
"@typescript-eslint/eslint-plugin": "^4.22.0",
4850
"@typescript-eslint/parser": "^4.22.0",
51+
"browserify": "^17.0.0",
4952
"eslint": "^7.24.0",
5053
"eslint-config-prettier": "^8.2.0",
5154
"eslint-plugin-prettier": "^3.4.0",
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,25 @@
1-
import { Network } from "../network.entity"
1+
import { Network } from '../network.entity'
22

33
export class AnchorRetrieveResponse {
4-
public anchor_id: number;
5-
public block_roots: string[];
6-
public networks: Network[];
7-
public root: string;
8-
public status: string;
4+
public id: number
5+
public block_roots: string[]
6+
public networks: Network[]
7+
public root: string
8+
public status: string
99

10-
constructor(data: {
11-
anchor_id: number,
12-
block_roots: string[],
13-
networks: { name: string, state: string, txHash: string }[],
14-
root: string,
15-
status: string
16-
}) {
17-
this.anchor_id = data.anchor_id;
18-
this.block_roots = data.block_roots;
19-
this.networks = data.networks.map(network => new Network(network.name, network.state, network.txHash))
20-
this.root = data.root;
21-
this.status = data.status;
22-
}
23-
}
10+
constructor(data: {
11+
id: number
12+
block_roots: string[]
13+
networks: { name: string; state: string; txHash: string }[]
14+
root: string
15+
status: string
16+
}) {
17+
this.id = data.id
18+
this.block_roots = data.block_roots
19+
this.networks = data.networks.map(
20+
(network) => new Network(network.name, network.state, network.txHash)
21+
)
22+
this.root = data.root
23+
this.status = data.status
24+
}
25+
}

src/anchor/repository/anchor-impl.repository.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ export class AnchorRepositoryImpl implements AnchorRepository {
1616
let url = `${this.configService.getApiBaseUrl()}/core/anchor/${anchor}`
1717
let response = await this.httpClient.get<AnchorRetrieveResponse>(url)
1818
return new Anchor(
19-
response.anchor_id,
19+
response.id,
2020
response.block_roots,
2121
response.networks,
2222
response.root,

src/anchor/repository/anchor.repository.test.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ describe('Anchor Repository Tests', () => {
2727

2828
httpClientMock.get.mockResolvedValueOnce(
2929
new AnchorRetrieveResponse({
30-
anchor_id: 1,
30+
id: 1,
3131
block_roots: ['block_root'],
3232
networks: [],
3333
root: 'root',

src/anchor/service/anchor-impl.service.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ export class AnchorServiceImpl implements AnchorService {
2828

2929
return anchor
3030
}
31-
async waitAnchor(anchorId: number, timeout: number = 120000): Promise<Anchor> {
31+
async waitAnchor(anchorId: number, timeout: number = 300000): Promise<Anchor> {
3232
if (!Number.isInteger(anchorId) || !Number.isInteger(timeout)) {
3333
throw new InvalidArgumentException()
3434
}
@@ -49,7 +49,7 @@ export class AnchorServiceImpl implements AnchorService {
4949
if (currentTime > timeoutTime) {
5050
throw new WaitAnchorTimeoutException()
5151
}
52-
await sleep(1000)
52+
await sleep(10000)
5353
} catch (e) {
5454
let currentTime = new Date().getTime()
5555
while (currentTime < nextTry && currentTime < timeoutTime) {

src/config/entity/networks.entity.ts

+8-3
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,15 @@ import { Network as AnchorNetwork } from '../../anchor/entity/network.entity'
33
enum Network {
44
ETHEREUM_MAINNET,
55
ETHEREUM_RINKEBY,
6+
GNOSIS_CHAIN,
67
BLOOCK_CHAIN
78
}
89

910
export enum CoreNetwork {
10-
BLOOCKCHAIN = "bloock_chain",
11-
RINKEBY = "ethereum_rinkeby",
12-
MAINNET = "ethereum_mainnet"
11+
BLOOCKCHAIN = 'bloock_chain',
12+
GNOSIS_CHAIN = 'gnosis_chain',
13+
RINKEBY = 'ethereum_rinkeby',
14+
MAINNET = 'ethereum_mainnet'
1315
}
1416

1517
export function selectNetwork(networks: AnchorNetwork[]): Network {
@@ -22,6 +24,9 @@ export function selectNetwork(networks: AnchorNetwork[]): Network {
2224
case CoreNetwork.BLOOCKCHAIN:
2325
return Network.BLOOCK_CHAIN
2426

27+
case CoreNetwork.GNOSIS_CHAIN:
28+
return Network.GNOSIS_CHAIN
29+
2530
case CoreNetwork.RINKEBY:
2631
return Network.ETHEREUM_RINKEBY
2732

src/config/repository/config-data.ts

+7
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,13 @@ export class ConfigData {
2020
HTTP_PROVIDER: 'https://mainnet.infura.io/v3/40e23a35d578492daacb318023772b52'
2121
})
2222

23+
this.networksConfig.set(Network.GNOSIS_CHAIN, {
24+
CONTRACT_ADDRESS: '0xEc6Ab24a61162C22eD1663F384c94032774ACCb2',
25+
CONTRACT_ABI:
26+
'[{"inputs":[{"internalType":"address","name":"role_manager","type":"address"},{"internalType":"address","name":"state_manager","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"previousAdminRole","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"newAdminRole","type":"bytes32"}],"name":"RoleAdminChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"RoleGranted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"RoleRevoked","type":"event"},{"inputs":[],"name":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"STATE_MANAGER","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"name":"getRoleAdmin","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"state_root","type":"bytes32"}],"name":"getState","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"grantRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"hasRole","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"state_root","type":"bytes32"}],"name":"isStatePresent","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"renounceRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"revokeRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"state_root","type":"bytes32"}],"name":"updateState","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32[]","name":"content","type":"bytes32[]"},{"internalType":"bytes32[]","name":"hashes","type":"bytes32[]"},{"internalType":"bytes","name":"bitmap","type":"bytes"},{"internalType":"uint32[]","name":"depths","type":"uint32[]"}],"name":"verifyInclusionProof","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"}]',
27+
HTTP_PROVIDER: 'https://rpc.gnosischain.com'
28+
})
29+
2330
this.networksConfig.set(Network.ETHEREUM_RINKEBY, {
2431
CONTRACT_ADDRESS: '0x7E22c795325E76306920293F62a02F353536280b',
2532
CONTRACT_ABI:

0 commit comments

Comments
 (0)