UNPKG

@caict/bop-typescript-sdk

Version:
109 lines (96 loc) 3.81 kB
import { SignerByBop } from "../signer"; import { ProviderByBop } from "../provider"; import { expect } from "chai"; import * as sinon from "sinon"; import { CallContractResponse, GetAccountBalanceResponse, GetAccountIncreaseNonceResponse, SignerSignResponse, TestTransactionRequest, TestTransactionResponse, GetAccountResponse, LedgerNumberResponse, } from "../../../bop-sdk/proto/bop-sdk-interface"; import { BopInterface, Config } from "../../../bop/bop-base"; const apiKey = "xxx"; const apiSecret = "xxx"; describe("signer-test", () => { let bopInterface: BopInterface; let config: Config; let signer: SignerByBop; let provider: ProviderByBop; beforeEach(() => { config = new Config("https://bif-mainnet.bitfactory.cn", apiKey, apiSecret); bopInterface = new BopInterface(config); signer = new SignerByBop("your encprivate key"); provider = new ProviderByBop(bopInterface); }); afterEach(() => {}); describe("signer test", () => { it("signer.constructor invalid privateKey", async () => { try { let signer: SignerByBop = new SignerByBop("xxx"); } catch (error) { expect(error).to.equal("invalid privateKey"); } }); it("signer.constructor valid privateKey", async () => { expect(signer.getAddress()).to.equal( "did:bid:zfVHJnop875UMPmskam4JC4kLW4tAaDK", ); expect(signer.getAddress()).to.equal(signer.address); expect(signer.publicKey).to.equal(signer.publicKey); }); it("signer.getBalance", async () => { let signerWithProvider = signer.connect(provider); let balance = (await signerWithProvider.getBalance()) as GetAccountBalanceResponse; console.log(balance); expect(balance.errorCode).to.equal(0); }); it("signer.getIncreaseNonce", async () => { let signerWithProvider = signer.connect(provider); let nonce = (await signerWithProvider.getIncreaseNonce()) as GetAccountIncreaseNonceResponse; console.log(nonce); expect(nonce.errorCode).to.equal(0); }); it("signer.getAccount", async () => { let signerWithProvider = signer.connect(provider); let account = (await signerWithProvider.getAccount()) as GetAccountResponse; console.log(account); expect(account.errorCode).to.equal(0); }); it("signer.getLedgerNumber", async () => { let signerWithProvider = signer.connect(provider); let number = (await signerWithProvider.getLedgerNumber()) as LedgerNumberResponse; console.log(number); expect(number.errorCode).to.equal(0); }); it("signer.signTransaction", async () => { let signerWithProvider = signer.connect(provider); let response = (await signerWithProvider.signTransaction( "0x010203", )) as SignerSignResponse; console.log(response); console.log(response.result?.publicKey); expect(response.errorCode).to.equal(0); }); it("signer.callContract", async () => { let signerWithProvider = signer.connect(provider); let response = (await signerWithProvider.callContract( "did:bid:efBcAumwRYrESbpRVTo4J4vYqXXfqBzu", '{"function":"balanceOf(address)","args":"did:bid:efBcAumwRYrESbpRVTo4J4vYqXXfqBzu","return":"returns(uint256)"', )) as CallContractResponse; console.log(response); console.log(response.result?.queryRets[0]); expect(response.errorCode).to.equal(0); expect(response.result?.queryRets[0]?.result).to.equal( '{"code":0,"data":"[0]","desc":"","evmcode":"0000000000000000000000000000000000000000000000000000000000000000","gasused":2767}', ); }); }); });