New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

melis-api-js

Package Overview
Dependencies
Maintainers
1
Versions
66
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

melis-api-js - npm Package Compare versions

Comparing version 0.8.18 to 0.8.20

examples/create-multi-user1.js

2

package.json

@@ -6,3 +6,3 @@ {

"license": "ISC",
"version": "0.8.18",
"version": "0.8.20",
"main": "src/index.js",

@@ -9,0 +9,0 @@ "keywords": [

@@ -9,2 +9,122 @@ # JavaScript bindings for the Melis bitcoin service

## Examples usage
### Receive funds
This simple code will:
* Open an existing wallet with at least an account
* ask for an unused address
* wait for an incoming (unconfirmed) transaction on the account
* report if the transaction has been confirmed
```javascript
var CM = require('../src/cm')
var C = CM.C
var cm = new CM({apiDiscoveryUrl: C.MELIS_TEST_DISCOVER})
var seed = "58e5e9e58956d9db4aeff9875994dcf253186d26884ddc25031fab98eff6ea34" // an existing wallet used for testing purposes
var myWallet, myAccount, myAddress
// Register an handler that will be notified of new incoming or outcoming transactions
cm.on(C.EVENT_TX_INFO_NEW, res => {
console.log("New transaction received!\n", res.txInfo)
})
// Register an handler to be notified by transactions changing state
// for example because they have been confirmed
cm.on(C.EVENT_TX_INFO_UPDATED, res => {
if (res.txInfo.blockMature > 0)
console.log("TX has been confirmed!")
})
// Disable logs, very noisy
cm.log = function () {}
cm.connect().then((config) => {
console.log("Connected to server. Blockchain height: " + config.topBlock.height)
return cm.walletOpen(seed)
}).then(wallet => {
console.log("Wallet opened with seed: " + seed)
myWallet = wallet
myAccount = wallet.accounts[Object.keys(wallet.accounts)[0]]
console.log("Using account " + myAccount.num + " with pubId: " + myAccount.pubId)
return cm.getUnusedAddress(myAccount)
}).then(res => {
myAddress = res.address
console.log("Waiting for TEST coins to " + myAddress + " -- Press ctrl-c to exit")
}).catch(error => {
console.log("Unexpected exception: ", error)
})
```
### Multiuser account
First user runs this script that:
* registers a new wallet
* create a 1of2 account and a join code for the second user
* waits for the second user to join the account (thus rendering the account functional)
```javascript
var CM = require('../src/cm')
var C = CM.C
var cm = new CM({apiDiscoveryUrl: C.MELIS_TEST_DISCOVER})
var seed = cm.random32HexBytes()
cm.on(C.EVENT_JOINED, res => {
console.log("Cosigner joined: " + res.activationCode.pubId + ", the account is ready!")
cm.disconnect()
})
cm.log = function () {} // Disable logs
cm.connect().then((config) => {
console.log("Connected to server. Blockchain height: " + config.topBlock.height)
return cm.walletRegister(seed)
}).then(wallet => {
console.log("Wallet opened with seed: " + seed)
return cm.accountCreate({
type: C.TYPE_MULTISIG_MANDATORY_SERVER,
cosigners: [{name: 'Frank'}],
minSignatures: 1}
)
}).then(res => {
var cosigners = res.accountInfo.cosigners
let joinCode
cosigners.forEach(info => {
if (info.name === 'Frank')
joinCode = info.code
})
console.log("Waiting for cosigner with join code " + joinCode + " to join my account -- Press ctrl-c to exit")
}).catch(error => {
console.log("Unexpected exception: ", error)
})
```
The second user runs this script with the joinCode got from the first script and join the multiuser/multisig account:
> node script "joincode"
```javascript
var CM = require('../src/cm')
var C = CM.C
var cm = new CM({apiDiscoveryUrl: C.MELIS_TEST_DISCOVER})
var seed = cm.random32HexBytes()
if (process.argv.length < 3) {
console.log("Please pass joinCode as first argument")
process.exit(1)
}
var joinCode = process.argv[2]
cm.log = function () {} // Disable logs
cm.connect().then((config) => {
console.log("Connected to server. Blockchain height: " + config.topBlock.height + " joinCode: " + joinCode)
return cm.walletRegister(seed)
}).then(wallet => {
console.log("Wallet opened with seed: " + seed)
return cm.accountJoin({code: joinCode})
}).then(res => {
console.log("Multisig account joined with joinCode: " + joinCode)
return cm.disconnect()
}).catch(error => {
console.log("Unexpected exception: ", error)
})
```

@@ -163,2 +163,3 @@ var C = {}

C.EVENT_DISCONNECT = 'disconnect'
C.EVENT_SESSION_RESTORED = 'sessionRestored'
C.EVENT_BLOCK = 'block'

@@ -165,0 +166,0 @@ C.EVENT_NEW_SESSION = 'newSession'

Sorry, the diff of this file is too big to display

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc