🧡BitCoin
Detecting the Provider
Once ioPay Wallet is installed and running, you should find that ioPay's mobile in-app browser have a window.ioPay
object available in the developer console.
Method
requestAccounts(): Connect the current account.
Returns:
Promise
-string
: address of current account
Example:
try {
let accounts = await window.ioPay.requestAccounts();
console.log('connect success', accounts);
} catch (e) {
console.log('connect failed');
}
> connect success ['mfaCeWXkqRTPG85mLXMbBZEJRS8b7bw4Kb']
Method
getPublicKey()
Returns:
Promise
-string
: publicKey
Example:
try {
let res = await window.ioPay.getPublicKey();
console.log(res)
} catch (e) {
console.log(e);
}
> 0668e8db9f4a2bc19219058467bb12d4c07952da52e71b8d409684c918b4fd1f
Method
signMessage
ioPay.signMessage(msg)
Parameters
msg
-string
: a string to sign
Returns
Promise
-string
: the signature.
Example:
// sign by ecdsa
try {
let res = await window.ioPay.signMessage("welcome to ioPay");
console.log(res)
} catch (e) {}
Method
signPsbt
ioPay.signPsbt(psbtHex[, options])
This method will traverse all inputs that match the current address to sign.
Parameters
psbtHex
-string
: the hex string of psbt to signoptions
autoFinalized
-boolean
: whether finalize psbt after signing, default is truetoSignInputs
-array
:index
-number
: which input to signaddress
-string
: (at least specify either an address or a publicKey) Which corresponding private key to use for signingpublicKey
-string
: (at least specify either an address or a publicKey) Which corresponding private key to use for signingsighashTypes
-number[]
: (optionals) sighashTypesdisableTweakSigner
-boolean
:(optionals) When signing and unlocking Taproot addresses, thetweakSigner
is used by default for signature generation. Enabling this allows for signing with the original private key.
Returns:
Promise
-string
: the hex string of signed psbt
Example:
try {
let res = await window.ioPay.signPsbt(
"87543231ff53337a....",
{
autoFinalized:false,
toSignInputs:[
{
index: 0,
address: "tb1qtmjmeglfdqphtqq3yq3t6ruq3tvkfx2u6f7n83",
},
{
index: 1,
publicKey: "76382...83846262f",
sighashTypes: [1]
},
{
index: 2,
publicKey: "76382...83846262f",
}
]
}
);
console.log(res)
} catch (e) {
console.log(e);
}
Last updated