From 236ec15f1b4f0e465d258df9c32fa621458b5e00 Mon Sep 17 00:00:00 2001
From: Jaynti Kanani <jdkanani@gmail.com>
Date: Fri, 20 Nov 2020 11:48:55 +0530
Subject: [PATCH] new: add bor apis

---
 internal/web3ext/bor_ext.go | 53 +++++++++++++++++++++++++++++++++++++
 internal/web3ext/web3ext.go |  3 +++
 2 files changed, 56 insertions(+)
 create mode 100644 internal/web3ext/bor_ext.go

diff --git a/internal/web3ext/bor_ext.go b/internal/web3ext/bor_ext.go
new file mode 100644
index 000000000..b7fe9b488
--- /dev/null
+++ b/internal/web3ext/bor_ext.go
@@ -0,0 +1,53 @@
+package web3ext
+
+// BorJs bor related apis
+const BorJs = `
+web3._extend({
+	property: 'bor',
+	methods: [
+		new web3._extend.Method({
+			name: 'getSnapshot',
+			call: 'bor_getSnapshot',
+			params: 1,
+			inputFormatter: [null]
+		}),
+		new web3._extend.Method({
+			name: 'getAuthor',
+			call: 'bor_getAuthor',
+			params: 1,
+			inputFormatter: [null]
+		}),
+		new web3._extend.Method({
+			name: 'getSnapshotAtHash',
+			call: 'bor_getSnapshotAtHash',
+			params: 1
+		}),
+		new web3._extend.Method({
+			name: 'getSigners',
+			call: 'bor_getSigners',
+			params: 1,
+			inputFormatter: [null]
+		}),
+		new web3._extend.Method({
+			name: 'getSignersAtHash',
+			call: 'bor_getSignersAtHash',
+			params: 1
+		}),
+		new web3._extend.Method({
+			name: 'getCurrentProposer',
+			call: 'bor_getCurrentProposer',
+			params: 0
+		}),
+		new web3._extend.Method({
+			name: 'getCurrentValidators',
+			call: 'bor_getCurrentValidators',
+			params: 0
+		}),
+		new web3._extend.Method({
+			name: 'getRootHash',
+			call: 'bor_getRootHash',
+			params: 2,
+		}),
+	]
+});
+`
diff --git a/internal/web3ext/web3ext.go b/internal/web3ext/web3ext.go
index 77954bbbf..682c262fc 100644
--- a/internal/web3ext/web3ext.go
+++ b/internal/web3ext/web3ext.go
@@ -34,6 +34,9 @@ var Modules = map[string]string{
 	"txpool":     TxpoolJs,
 	"les":        LESJs,
 	"lespay":     LESPayJs,
+
+	// Bor related apis
+	"bor": BorJs,
 }
 
 const ChequebookJs = `
-- 
GitLab