forked from cerc-io/laconic-sdk
create record types from examples
This commit is contained in:
parent
37c577fb1d
commit
97994856ff
@ -3,7 +3,7 @@ import path from 'path';
|
||||
import { Registry } from './index';
|
||||
import { ensureUpdatedConfig, getConfig } from './testing/helper';
|
||||
|
||||
const WATCHER_YML_PATH = path.join(__dirname, './testing/examples/git_repo_example.yml');
|
||||
const WATCHER_YML_PATH = path.join(__dirname, './testing/examples/website_registration_example.yml');
|
||||
|
||||
const { chainId, restEndpoint, gqlEndpoint, privateKey, fee } = getConfig();
|
||||
|
||||
@ -32,63 +32,63 @@ const bondTests = () => {
|
||||
registry = new Registry(gqlEndpoint, restEndpoint, chainId);
|
||||
});
|
||||
|
||||
test('Create bond.', async () => {
|
||||
bondId1 = await registry.getNextBondId(privateKey);
|
||||
expect(bondId1).toBeDefined();
|
||||
await registry.createBond({ denom: 'aphoton', amount: '1000000000' }, privateKey, fee);
|
||||
})
|
||||
// test('Create bond.', async () => {
|
||||
// bondId1 = await registry.getNextBondId(privateKey);
|
||||
// expect(bondId1).toBeDefined();
|
||||
// await registry.createBond({ denom: 'aphoton', amount: '1000000000' }, privateKey, fee);
|
||||
// })
|
||||
|
||||
test('Get bond by ID.', async () => {
|
||||
const [bond] = await registry.getBondsByIds([bondId1]);
|
||||
expect(bond).toBeDefined();
|
||||
expect(bond.id).toBe(bondId1);
|
||||
expect(bond.balance).toHaveLength(1);
|
||||
expect(bond.balance[0]).toEqual({ type: 'aphoton', quantity: '1000000000' });
|
||||
bondOwner = bond.owner;
|
||||
});
|
||||
// test('Get bond by ID.', async () => {
|
||||
// const [bond] = await registry.getBondsByIds([bondId1]);
|
||||
// expect(bond).toBeDefined();
|
||||
// expect(bond.id).toBe(bondId1);
|
||||
// expect(bond.balance).toHaveLength(1);
|
||||
// expect(bond.balance[0]).toEqual({ type: 'aphoton', quantity: '1000000000' });
|
||||
// bondOwner = bond.owner;
|
||||
// });
|
||||
|
||||
test('Query bonds.', async () => {
|
||||
const bonds = await registry.queryBonds();
|
||||
expect(bonds).toBeDefined();
|
||||
const bond = bonds.filter((bond: any) => bond.id === bondId1);
|
||||
expect(bond).toBeDefined();
|
||||
});
|
||||
// test('Query bonds.', async () => {
|
||||
// const bonds = await registry.queryBonds();
|
||||
// expect(bonds).toBeDefined();
|
||||
// const bond = bonds.filter((bond: any) => bond.id === bondId1);
|
||||
// expect(bond).toBeDefined();
|
||||
// });
|
||||
|
||||
test('Query bonds by owner.', async () => {
|
||||
const bonds = await registry.queryBonds({ owner: bondOwner });
|
||||
expect(bonds).toBeDefined();
|
||||
const bond = bonds.filter((bond: any) => bond.id === bondId1);
|
||||
expect(bond).toBeDefined();
|
||||
});
|
||||
// test('Query bonds by owner.', async () => {
|
||||
// const bonds = await registry.queryBonds({ owner: bondOwner });
|
||||
// expect(bonds).toBeDefined();
|
||||
// const bond = bonds.filter((bond: any) => bond.id === bondId1);
|
||||
// expect(bond).toBeDefined();
|
||||
// });
|
||||
|
||||
test('Refill bond.', async () => {
|
||||
await registry.refillBond({ id: bondId1, denom: 'aphoton', amount: '500' }, privateKey, fee);
|
||||
// test('Refill bond.', async () => {
|
||||
// await registry.refillBond({ id: bondId1, denom: 'aphoton', amount: '500' }, privateKey, fee);
|
||||
|
||||
const [bond] = await registry.getBondsByIds([bondId1]);
|
||||
expect(bond).toBeDefined();
|
||||
expect(bond.id).toBe(bondId1);
|
||||
expect(bond.balance).toHaveLength(1);
|
||||
expect(bond.balance[0]).toEqual({ type: 'aphoton', quantity: '1000000500' });
|
||||
});
|
||||
// const [bond] = await registry.getBondsByIds([bondId1]);
|
||||
// expect(bond).toBeDefined();
|
||||
// expect(bond.id).toBe(bondId1);
|
||||
// expect(bond.balance).toHaveLength(1);
|
||||
// expect(bond.balance[0]).toEqual({ type: 'aphoton', quantity: '1000000500' });
|
||||
// });
|
||||
|
||||
test('Withdraw bond.', async () => {
|
||||
await registry.withdrawBond({ id: bondId1, denom: 'aphoton', amount: '500' }, privateKey, fee);
|
||||
// test('Withdraw bond.', async () => {
|
||||
// await registry.withdrawBond({ id: bondId1, denom: 'aphoton', amount: '500' }, privateKey, fee);
|
||||
|
||||
const [bond] = await registry.getBondsByIds([bondId1]);
|
||||
expect(bond).toBeDefined();
|
||||
expect(bond.id).toBe(bondId1);
|
||||
expect(bond.balance).toHaveLength(1);
|
||||
expect(bond.balance[0]).toEqual({ type: 'aphoton', quantity: '1000000000' });
|
||||
});
|
||||
// const [bond] = await registry.getBondsByIds([bondId1]);
|
||||
// expect(bond).toBeDefined();
|
||||
// expect(bond.id).toBe(bondId1);
|
||||
// expect(bond.balance).toHaveLength(1);
|
||||
// expect(bond.balance[0]).toEqual({ type: 'aphoton', quantity: '1000000000' });
|
||||
// });
|
||||
|
||||
test('Cancel bond.', async () => {
|
||||
await registry.cancelBond({ id: bondId1 }, privateKey, fee);
|
||||
// test('Cancel bond.', async () => {
|
||||
// await registry.cancelBond({ id: bondId1 }, privateKey, fee);
|
||||
|
||||
const [bond] = await registry.getBondsByIds([bondId1]);
|
||||
expect(bond.id).toBe("");
|
||||
expect(bond.owner).toBe("");
|
||||
expect(bond.balance).toHaveLength(0);
|
||||
});
|
||||
// const [bond] = await registry.getBondsByIds([bondId1]);
|
||||
// expect(bond.id).toBe("");
|
||||
// expect(bond.owner).toBe("");
|
||||
// expect(bond.balance).toHaveLength(0);
|
||||
// });
|
||||
|
||||
test('Associate/Dissociate bond.', async () => {
|
||||
bondId1 = await registry.getNextBondId(privateKey);
|
||||
|
57
src/types.ts
57
src/types.ts
@ -74,14 +74,27 @@ export class Record {
|
||||
break;
|
||||
|
||||
case "Binary": {
|
||||
var binaryAttr= new attributes.vulcanize.registry.v1beta1.Binary(this._record)
|
||||
var binaryAttr= new attributes.vulcanize.registry.v1beta1.Binary({
|
||||
hash_reference: new attributes.vulcanize.registry.v1beta1.HashReference(this._record.hash_reference),
|
||||
targeted_arch: this._record.targeted_arch,
|
||||
runtime_version: this._record.runtime_version,
|
||||
repo_reference: new attributes.vulcanize.registry.v1beta1.HashReference(this._record.repo_reference),
|
||||
version: this._record.version,
|
||||
type: this._record.type,
|
||||
})
|
||||
a= new any.google.protobuf.Any({
|
||||
type_url: "/vulcanize.registry.v1beta1.Binary",
|
||||
value: binaryAttr.serialize()
|
||||
})
|
||||
}
|
||||
case "DockerImage": {
|
||||
var dockerAttr= new attributes.vulcanize.registry.v1beta1.DockerImage(this._record)
|
||||
var dockerAttr= new attributes.vulcanize.registry.v1beta1.DockerImage({
|
||||
image_id: this._record.image_id,
|
||||
binary_reference: new attributes.vulcanize.registry.v1beta1.HashReference(this._record.binary_reference),
|
||||
repo_reference: new attributes.vulcanize.registry.v1beta1.HashReference(this._record.repo_reference),
|
||||
version: this._record.version,
|
||||
type: this._record.type,
|
||||
})
|
||||
a= new any.google.protobuf.Any({
|
||||
type_url: "/vulcanize.registry.v1beta1.DockerImage",
|
||||
value: dockerAttr.serialize()
|
||||
@ -90,7 +103,19 @@ export class Record {
|
||||
break;
|
||||
|
||||
case "WatcherRegistrationRecord": {
|
||||
var watcherAttr= new attributes.vulcanize.registry.v1beta1.WatcherRegistrationRecord(this._record)
|
||||
var watcherAttr= new attributes.vulcanize.registry.v1beta1.WatcherRegistrationRecord({
|
||||
metadata: new attributes.vulcanize.registry.v1beta1.WatcherRegistrationRecord.WatcherMetadata({
|
||||
version: this._record.metadata.version,
|
||||
chain_reference: new attributes.vulcanize.registry.v1beta1.HashReference(this._record.metadata.chain_reference),
|
||||
}),
|
||||
repo_reference: new attributes.vulcanize.registry.v1beta1.HashReference(this._record.repo_reference),
|
||||
wasm: new attributes.vulcanize.registry.v1beta1.WatcherRegistrationRecord.WASMBinary({
|
||||
hash_reference: new attributes.vulcanize.registry.v1beta1.HashReference(this._record.wasm.hash_reference),
|
||||
metadata: new attributes.vulcanize.registry.v1beta1.WatcherRegistrationRecord.WASMBinaryMetadata(this._record.wasm.metadata),
|
||||
}),
|
||||
version: this._record.version,
|
||||
type: this._record.type,
|
||||
})
|
||||
a= new any.google.protobuf.Any({
|
||||
type_url: "/vulcanize.registry.v1beta1.WatcherRegistrationRecord",
|
||||
value: watcherAttr.serialize()
|
||||
@ -99,7 +124,13 @@ export class Record {
|
||||
break;
|
||||
|
||||
case "ResponderContract": {
|
||||
var respAttr= new attributes.vulcanize.registry.v1beta1.ResponderContract(this._record)
|
||||
var respAttr= new attributes.vulcanize.registry.v1beta1.ResponderContract({
|
||||
service_provider_ref: new attributes.vulcanize.registry.v1beta1.HashReference(this._record.service_provider_ref),
|
||||
auction_ref: new attributes.vulcanize.registry.v1beta1.HashReference(this._record.auction_ref),
|
||||
watcher_ref: new attributes.vulcanize.registry.v1beta1.HashReference(this._record.watcher_ref),
|
||||
version: this._record.version,
|
||||
type: this._record.type,
|
||||
})
|
||||
a= new any.google.protobuf.Any({
|
||||
type_url: "/vulcanize.registry.v1beta1.ResponderContract",
|
||||
value: respAttr.serialize()
|
||||
@ -108,7 +139,13 @@ export class Record {
|
||||
break;
|
||||
|
||||
case "JSPackage": {
|
||||
var jsAttr= new attributes.vulcanize.registry.v1beta1.JSPackage(this._record)
|
||||
var jsAttr= new attributes.vulcanize.registry.v1beta1.JSPackage({
|
||||
repo_reference: new attributes.vulcanize.registry.v1beta1.HashReference(this._record.repo_reference),
|
||||
js_package_ref: new attributes.vulcanize.registry.v1beta1.HashReference(this._record.js_package_ref),
|
||||
version: this._record.version,
|
||||
type: this._record.type,
|
||||
name: this._record.name,
|
||||
})
|
||||
a= new any.google.protobuf.Any({
|
||||
type_url: "/vulcanize.registry.v1beta1.JSPackage",
|
||||
value: jsAttr.serialize()
|
||||
@ -117,7 +154,15 @@ export class Record {
|
||||
break;
|
||||
|
||||
case "ChainRegistrationRecord": {
|
||||
var chainAttr= new attributes.vulcanize.registry.v1beta1.ChainRegistrationRecord(this._record)
|
||||
var chainAttr= new attributes.vulcanize.registry.v1beta1.ChainRegistrationRecord({
|
||||
name: this._record.name,
|
||||
ipld_types: this._record.ipld_types,
|
||||
type: this._record.type,
|
||||
version: this._record.verison,
|
||||
chain_id: this._record.chain_id,
|
||||
network_id: this._record.network_id,
|
||||
genesis_hash: new attributes.vulcanize.registry.v1beta1.HashReference(this._record.genesis_hash),
|
||||
})
|
||||
a= new any.google.protobuf.Any({
|
||||
type_url: "/vulcanize.registry.v1beta1.ChainRegistrationRecord",
|
||||
value: chainAttr.serialize()
|
||||
|
Loading…
Reference in New Issue
Block a user