@firmachain/firma-js 0.2.61 → 0.2.64
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/sdk/FirmaCosmWasmCw721.d.ts +18 -0
- package/dist/sdk/FirmaCosmWasmCw721.js +25 -1
- package/dist/test/00.wallet.test.d.ts +1 -0
- package/dist/test/00.wallet.test.js +90 -0
- package/dist/test/01.contract_tx.test.d.ts +1 -0
- package/dist/test/01.contract_tx.test.js +149 -0
- package/dist/test/02.contract_query.test.d.ts +1 -0
- package/dist/test/02.contract_query.test.js +222 -0
- package/dist/test/03.contract_scenario.test.d.ts +1 -0
- package/dist/test/03.contract_scenario.test.js +562 -0
- package/dist/test/04.bank_tx.test.d.ts +1 -0
- package/dist/test/04.bank_tx.test.js +127 -0
- package/dist/test/05.bank_query.test.d.ts +1 -0
- package/dist/test/05.bank_query.test.js +167 -0
- package/dist/test/06.feegrant_tx.test.d.ts +1 -0
- package/dist/test/06.feegrant_tx.test.js +176 -0
- package/dist/test/07.feegrant_query.test.d.ts +1 -0
- package/dist/test/07.feegrant_query.test.js +84 -0
- package/dist/test/08.gas_estimate.test.d.ts +1 -0
- package/dist/test/08.gas_estimate.test.js +703 -0
- package/dist/test/09.ipfs.test.d.ts +1 -0
- package/dist/test/09.ipfs.test.js +72 -0
- package/dist/test/10.nft_tx.test.d.ts +1 -0
- package/dist/test/10.nft_tx.test.js +177 -0
- package/dist/test/11.nft_query.test.d.ts +1 -0
- package/dist/test/11.nft_query.test.js +170 -0
- package/dist/test/12.staking_tx.test.d.ts +1 -0
- package/dist/test/12.staking_tx.test.js +216 -0
- package/dist/test/13.staking_query.test.d.ts +1 -0
- package/dist/test/13.staking_query.test.js +209 -0
- package/dist/test/14.distribution_tx.test.d.ts +1 -0
- package/dist/test/14.distribution_tx.test.js +179 -0
- package/dist/test/15.distribution_query.test.d.ts +1 -0
- package/dist/test/15.distribution_query.test.js +219 -0
- package/dist/test/16.gov_tx.test.d.ts +1 -0
- package/dist/test/16.gov_tx.test.js +240 -0
- package/dist/test/17.gov_query.test.d.ts +1 -0
- package/dist/test/17.gov_query.test.js +118 -0
- package/dist/test/18.util.test.d.ts +1 -0
- package/dist/test/18.util.test.js +246 -0
- package/dist/test/19.chain.test.d.ts +1 -0
- package/dist/test/19.chain.test.js +81 -0
- package/dist/test/20.slashing_query.test.d.ts +1 -0
- package/dist/test/20.slashing_query.test.js +82 -0
- package/dist/test/21.token_tx.test.d.ts +1 -0
- package/dist/test/21.token_tx.test.js +157 -0
- package/dist/test/22.token_query.test.d.ts +1 -0
- package/dist/test/22.token_query.test.js +99 -0
- package/dist/test/23.authz_tx.test.d.ts +1 -0
- package/dist/test/23.authz_tx.test.js +471 -0
- package/dist/test/24.authz_query.test.d.ts +1 -0
- package/dist/test/24.authz_query.test.js +143 -0
- package/dist/test/25.cosmwasm_tx.test.d.ts +1 -0
- package/dist/test/25.cosmwasm_tx.test.js +191 -0
- package/dist/test/26.cosmwasm_query.test.d.ts +1 -0
- package/dist/test/26.cosmwasm_query.test.js +169 -0
- package/dist/test/27.arbitary_sign.test.d.ts +1 -0
- package/dist/test/27.arbitary_sign.test.js +167 -0
- package/dist/test/28.ibc_tx.test.d.ts +1 -0
- package/dist/test/28.ibc_tx.test.js +86 -0
- package/dist/test/29.mint_query.test.d.ts +1 -0
- package/dist/test/29.mint_query.test.js +57 -0
- package/dist/test/30.cw20_tx.test.d.ts +1 -0
- package/dist/test/30.cw20_tx.test.js +515 -0
- package/dist/test/31.cw20_query.test.d.ts +1 -0
- package/dist/test/31.cw20_query.test.js +187 -0
- package/dist/test/32.cw721_tx.test.d.ts +1 -0
- package/dist/test/32.cw721_tx.test.js +433 -0
- package/dist/test/33.cw721_query.test.d.ts +1 -0
- package/dist/test/33.cw721_query.test.js +219 -0
- package/dist/test/34.cw_bridge_tx.test.d.ts +1 -0
- package/dist/test/34.cw_bridge_tx.test.js +365 -0
- package/dist/test/35.cw_bridge_tx_low.test.d.ts +1 -0
- package/dist/test/35.cw_bridge_tx_low.test.js +258 -0
- package/dist/test/36.cw_bridge_query.test.d.ts +1 -0
- package/dist/test/36.cw_bridge_query.test.js +182 -0
- package/dist/test/37.cw_marketplace_tx.test.d.ts +1 -0
- package/dist/test/37.cw_marketplace_tx.test.js +794 -0
- package/dist/test/38.cw_marketplace_query.test.d.ts +1 -0
- package/dist/test/38.cw_marketplace_query.test.js +128 -0
- package/dist/test/config_test.d.ts +5 -0
- package/dist/test/config_test.js +20 -0
- package/package.json +1 -1
|
@@ -37,6 +37,22 @@ export interface Cw721Approval {
|
|
|
37
37
|
spender: string;
|
|
38
38
|
expires: Cw721Expires;
|
|
39
39
|
}
|
|
40
|
+
export interface Cw721Attribute {
|
|
41
|
+
trait_type: string;
|
|
42
|
+
value: string | number;
|
|
43
|
+
display_type?: string;
|
|
44
|
+
}
|
|
45
|
+
export interface Cw721Extension {
|
|
46
|
+
name: string;
|
|
47
|
+
description: string;
|
|
48
|
+
image: string;
|
|
49
|
+
image_data?: string;
|
|
50
|
+
external_url?: string;
|
|
51
|
+
attributes?: Cw721Attribute[];
|
|
52
|
+
background_color?: string;
|
|
53
|
+
animation_url?: string;
|
|
54
|
+
youtube_url?: string;
|
|
55
|
+
}
|
|
40
56
|
export declare class Cw721MsgData {
|
|
41
57
|
static getMsgDataMint(owner: string, token_id: string, token_uri: string): string;
|
|
42
58
|
static getMsgDataBurn(token_id: string): string;
|
|
@@ -49,12 +65,14 @@ export declare class Cw721MsgData {
|
|
|
49
65
|
static getMsgUpdateOwnerShipTransfer(new_owner: string, expiry: Cw721Expires): string;
|
|
50
66
|
static getMsgUpdateOwnerShipAccept(): string;
|
|
51
67
|
static getMsgUpdateOwnerShipRenounce(): string;
|
|
68
|
+
static getMsgDataMintWithExtension(owner: string, token_id: string, token_uri: string, extension: Cw721Extension): string;
|
|
52
69
|
}
|
|
53
70
|
export declare class FirmaCosmWasmCw721Service {
|
|
54
71
|
private readonly config;
|
|
55
72
|
private readonly cosmwasmService;
|
|
56
73
|
constructor(config: FirmaConfig, cosmwasmService: FirmaCosmWasmService);
|
|
57
74
|
mint(wallet: FirmaWalletService, contractAddress: string, owner: string, token_id: string, token_uri?: string, txMisc?: TxMisc): Promise<BroadcastTxResponse>;
|
|
75
|
+
mintWithExtension(wallet: FirmaWalletService, contractAddress: string, owner: string, token_id: string, extension: Cw721Extension, token_uri?: string, txMisc?: TxMisc): Promise<BroadcastTxResponse>;
|
|
58
76
|
getUnsignedTxMint(wallet: FirmaWalletService, contractAddress: string, owner: string, token_id: string, token_uri?: string): Promise<EncodeObject>;
|
|
59
77
|
burn(wallet: FirmaWalletService, contractAddress: string, token_id: string, txMisc?: TxMisc): Promise<BroadcastTxResponse>;
|
|
60
78
|
getUnsignedTxBurn(wallet: FirmaWalletService, contractAddress: string, token_id: string): Promise<EncodeObject>;
|
|
@@ -130,6 +130,16 @@ var Cw721MsgData = /** @class */ (function () {
|
|
|
130
130
|
"update_ownership": "renounce_ownership"
|
|
131
131
|
});
|
|
132
132
|
};
|
|
133
|
+
Cw721MsgData.getMsgDataMintWithExtension = function (owner, token_id, token_uri, extension) {
|
|
134
|
+
return JSON.stringify({
|
|
135
|
+
"mint": {
|
|
136
|
+
token_id: token_id,
|
|
137
|
+
owner: owner,
|
|
138
|
+
extension: extension,
|
|
139
|
+
token_uri: token_uri
|
|
140
|
+
}
|
|
141
|
+
});
|
|
142
|
+
};
|
|
133
143
|
return Cw721MsgData;
|
|
134
144
|
}());
|
|
135
145
|
exports.Cw721MsgData = Cw721MsgData;
|
|
@@ -154,6 +164,21 @@ var FirmaCosmWasmCw721Service = /** @class */ (function () {
|
|
|
154
164
|
});
|
|
155
165
|
});
|
|
156
166
|
};
|
|
167
|
+
FirmaCosmWasmCw721Service.prototype.mintWithExtension = function (wallet, contractAddress, owner, token_id, extension, token_uri, txMisc) {
|
|
168
|
+
if (token_uri === void 0) { token_uri = ""; }
|
|
169
|
+
if (txMisc === void 0) { txMisc = FirmaUtil_1.DefaultTxMisc; }
|
|
170
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
171
|
+
var msgData;
|
|
172
|
+
return __generator(this, function (_a) {
|
|
173
|
+
switch (_a.label) {
|
|
174
|
+
case 0:
|
|
175
|
+
msgData = Cw721MsgData.getMsgDataMintWithExtension(owner, token_id, token_uri, extension);
|
|
176
|
+
return [4 /*yield*/, this.cosmwasmService.executeContract(wallet, contractAddress, msgData, noFunds, txMisc)];
|
|
177
|
+
case 1: return [2 /*return*/, _a.sent()];
|
|
178
|
+
}
|
|
179
|
+
});
|
|
180
|
+
});
|
|
181
|
+
};
|
|
157
182
|
FirmaCosmWasmCw721Service.prototype.getUnsignedTxMint = function (wallet, contractAddress, owner, token_id, token_uri) {
|
|
158
183
|
if (token_uri === void 0) { token_uri = ""; }
|
|
159
184
|
return __awaiter(this, void 0, void 0, function () {
|
|
@@ -706,7 +731,6 @@ var FirmaCosmWasmCw721Service = /** @class */ (function () {
|
|
|
706
731
|
case 0:
|
|
707
732
|
_a.trys.push([0, 2, , 3]);
|
|
708
733
|
query = "{\n \"all_operators\": { \n \"owner\": \"" + owner + "\", \n \"include_expired\" : " + isIncludeExpired + ", \n \"limit\": " + limit + ",\n \"start_after\": " + (start_after !== null ? "\"" + start_after + "\"" : null) + " \n }\n }";
|
|
709
|
-
console.log(query);
|
|
710
734
|
return [4 /*yield*/, this.cosmwasmService.getContractSmartQueryData(contractAddress, query)];
|
|
711
735
|
case 1:
|
|
712
736
|
result = _a.sent();
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
12
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
13
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
14
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
15
|
+
function step(op) {
|
|
16
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
17
|
+
while (_) try {
|
|
18
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
19
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
20
|
+
switch (op[0]) {
|
|
21
|
+
case 0: case 1: t = op; break;
|
|
22
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
23
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
24
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
25
|
+
default:
|
|
26
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
27
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
28
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
29
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
30
|
+
if (t[2]) _.ops.pop();
|
|
31
|
+
_.trys.pop(); continue;
|
|
32
|
+
}
|
|
33
|
+
op = body.call(thisArg, _);
|
|
34
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
35
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
var chai_1 = require("chai");
|
|
40
|
+
var FirmaSDK_1 = require("../sdk/FirmaSDK");
|
|
41
|
+
var config_test_1 = require("./config_test");
|
|
42
|
+
describe('[00. Wallet Test]', function () {
|
|
43
|
+
var firma;
|
|
44
|
+
beforeEach(function () {
|
|
45
|
+
firma = new FirmaSDK_1.FirmaSDK(config_test_1.TestChainConfig);
|
|
46
|
+
});
|
|
47
|
+
it('fromMnemonic check', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
48
|
+
var wallet;
|
|
49
|
+
return __generator(this, function (_a) {
|
|
50
|
+
switch (_a.label) {
|
|
51
|
+
case 0: return [4 /*yield*/, firma.Wallet.fromMnemonic(config_test_1.aliceMnemonic)];
|
|
52
|
+
case 1:
|
|
53
|
+
wallet = _a.sent();
|
|
54
|
+
chai_1.expect(wallet.getMnemonic()).to.equal(config_test_1.aliceMnemonic);
|
|
55
|
+
return [2 /*return*/];
|
|
56
|
+
}
|
|
57
|
+
});
|
|
58
|
+
}); });
|
|
59
|
+
it('Wallet.fromPrivateKey check', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
60
|
+
var privateKey, privateKeyFromWallet;
|
|
61
|
+
return __generator(this, function (_a) {
|
|
62
|
+
switch (_a.label) {
|
|
63
|
+
case 0:
|
|
64
|
+
privateKey = "0x15bc0d2e445ef5b13f9d3c6d227f21524fd05d5afda713d1aff1ecc8db49a62d";
|
|
65
|
+
return [4 /*yield*/, firma.Wallet.fromPrivateKey(privateKey)];
|
|
66
|
+
case 1:
|
|
67
|
+
privateKeyFromWallet = (_a.sent()).getPrivateKey();
|
|
68
|
+
chai_1.expect(privateKeyFromWallet).to.equal(privateKey);
|
|
69
|
+
return [2 /*return*/];
|
|
70
|
+
}
|
|
71
|
+
});
|
|
72
|
+
}); });
|
|
73
|
+
it('Wallet.getPubKey check with new mnemonic', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
74
|
+
var randomMnemonic, wallet, pubkey;
|
|
75
|
+
return __generator(this, function (_a) {
|
|
76
|
+
switch (_a.label) {
|
|
77
|
+
case 0:
|
|
78
|
+
randomMnemonic = "inmate stock silly toy divide example orchard harbor pulse gasp acquire bulk predict spin salon quiz record office party today narrow crumble remember sing";
|
|
79
|
+
return [4 /*yield*/, firma.Wallet.fromMnemonic(randomMnemonic)];
|
|
80
|
+
case 1:
|
|
81
|
+
wallet = _a.sent();
|
|
82
|
+
return [4 /*yield*/, wallet.getPubKey()];
|
|
83
|
+
case 2:
|
|
84
|
+
pubkey = _a.sent();
|
|
85
|
+
chai_1.expect(pubkey).to.equal("AvzyjjaXumyGNQR1DRkDdozJge+MPJPFuNaMr+DAK2ks");
|
|
86
|
+
return [2 /*return*/];
|
|
87
|
+
}
|
|
88
|
+
});
|
|
89
|
+
}); });
|
|
90
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
12
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
13
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
14
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
15
|
+
function step(op) {
|
|
16
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
17
|
+
while (_) try {
|
|
18
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
19
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
20
|
+
switch (op[0]) {
|
|
21
|
+
case 0: case 1: t = op; break;
|
|
22
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
23
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
24
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
25
|
+
default:
|
|
26
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
27
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
28
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
29
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
30
|
+
if (t[2]) _.ops.pop();
|
|
31
|
+
_.trys.pop(); continue;
|
|
32
|
+
}
|
|
33
|
+
op = body.call(thisArg, _);
|
|
34
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
35
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
var chai_1 = require("chai");
|
|
40
|
+
var FirmaSDK_1 = require("../sdk/FirmaSDK");
|
|
41
|
+
var config_test_1 = require("./config_test");
|
|
42
|
+
describe('[01. Contract Tx Test]', function () {
|
|
43
|
+
var firma;
|
|
44
|
+
beforeEach(function () {
|
|
45
|
+
firma = new FirmaSDK_1.FirmaSDK(config_test_1.TestChainConfig);
|
|
46
|
+
});
|
|
47
|
+
it('Contract getUnsignedTxAddContractLog X 3 and signAndBroadcast', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
48
|
+
var wallet, contractHash, timeStamp, eventName, ownerAddress, jsonString, tx, result;
|
|
49
|
+
return __generator(this, function (_a) {
|
|
50
|
+
switch (_a.label) {
|
|
51
|
+
case 0: return [4 /*yield*/, firma.Wallet.fromMnemonic(config_test_1.aliceMnemonic)];
|
|
52
|
+
case 1:
|
|
53
|
+
wallet = _a.sent();
|
|
54
|
+
contractHash = "0xsalkdjfasldkjf2";
|
|
55
|
+
timeStamp = Math.round(+new Date() / 1000);
|
|
56
|
+
;
|
|
57
|
+
eventName = "CreateContract";
|
|
58
|
+
return [4 /*yield*/, wallet.getAddress()];
|
|
59
|
+
case 2:
|
|
60
|
+
ownerAddress = _a.sent();
|
|
61
|
+
jsonString = "{}";
|
|
62
|
+
return [4 /*yield*/, firma.Contract.getUnsignedTxAddContractLog(wallet, contractHash, timeStamp, eventName, ownerAddress, jsonString)];
|
|
63
|
+
case 3:
|
|
64
|
+
tx = _a.sent();
|
|
65
|
+
return [4 /*yield*/, firma.Contract.signAndBroadcast(wallet, [tx, tx, tx])];
|
|
66
|
+
case 4:
|
|
67
|
+
result = _a.sent();
|
|
68
|
+
chai_1.expect(result.code).equal(0);
|
|
69
|
+
return [2 /*return*/];
|
|
70
|
+
}
|
|
71
|
+
});
|
|
72
|
+
}); });
|
|
73
|
+
it('Contract addContractLog', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
74
|
+
var wallet, contractHash, timeStamp, eventName, ownerAddress, jsonString, result;
|
|
75
|
+
return __generator(this, function (_a) {
|
|
76
|
+
switch (_a.label) {
|
|
77
|
+
case 0: return [4 /*yield*/, firma.Wallet.fromMnemonic(config_test_1.aliceMnemonic)];
|
|
78
|
+
case 1:
|
|
79
|
+
wallet = _a.sent();
|
|
80
|
+
contractHash = "0xsalkdjfasldkjf2";
|
|
81
|
+
timeStamp = Math.round(+new Date() / 1000);
|
|
82
|
+
;
|
|
83
|
+
eventName = "CreateContract";
|
|
84
|
+
return [4 /*yield*/, wallet.getAddress()];
|
|
85
|
+
case 2:
|
|
86
|
+
ownerAddress = _a.sent();
|
|
87
|
+
jsonString = "{}";
|
|
88
|
+
return [4 /*yield*/, firma.Contract.addContractLog(wallet, contractHash, timeStamp, eventName, ownerAddress, jsonString)];
|
|
89
|
+
case 3:
|
|
90
|
+
result = _a.sent();
|
|
91
|
+
chai_1.expect(result.code).equal(0);
|
|
92
|
+
return [2 /*return*/];
|
|
93
|
+
}
|
|
94
|
+
});
|
|
95
|
+
}); });
|
|
96
|
+
it('Contract getUnsignedTxCreateContractFile x3 signAndBroadcast', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
97
|
+
var wallet, timeStamp, fileHash, ownerAddress, ownerList, jsonString, tx1, tx2, tx3, result;
|
|
98
|
+
return __generator(this, function (_a) {
|
|
99
|
+
switch (_a.label) {
|
|
100
|
+
case 0: return [4 /*yield*/, firma.Wallet.fromMnemonic(config_test_1.aliceMnemonic)];
|
|
101
|
+
case 1:
|
|
102
|
+
wallet = _a.sent();
|
|
103
|
+
timeStamp = Math.round(+new Date() / 1000);
|
|
104
|
+
fileHash = "0xklsdjflaksjflaksjf" + timeStamp;
|
|
105
|
+
return [4 /*yield*/, wallet.getAddress()];
|
|
106
|
+
case 2:
|
|
107
|
+
ownerAddress = _a.sent();
|
|
108
|
+
ownerList = [ownerAddress, ownerAddress];
|
|
109
|
+
jsonString = "{}";
|
|
110
|
+
return [4 /*yield*/, firma.Contract.getUnsignedTxCreateContractFile(wallet, fileHash, timeStamp, ownerList, jsonString)];
|
|
111
|
+
case 3:
|
|
112
|
+
tx1 = _a.sent();
|
|
113
|
+
return [4 /*yield*/, firma.Contract.getUnsignedTxCreateContractFile(wallet, fileHash + "a", timeStamp, ownerList, jsonString)];
|
|
114
|
+
case 4:
|
|
115
|
+
tx2 = _a.sent();
|
|
116
|
+
return [4 /*yield*/, firma.Contract.getUnsignedTxCreateContractFile(wallet, fileHash + "b", timeStamp, ownerList, jsonString)];
|
|
117
|
+
case 5:
|
|
118
|
+
tx3 = _a.sent();
|
|
119
|
+
return [4 /*yield*/, firma.Contract.signAndBroadcast(wallet, [tx1, tx2, tx3])];
|
|
120
|
+
case 6:
|
|
121
|
+
result = _a.sent();
|
|
122
|
+
chai_1.expect(result.code).equal(0);
|
|
123
|
+
return [2 /*return*/];
|
|
124
|
+
}
|
|
125
|
+
});
|
|
126
|
+
}); });
|
|
127
|
+
it('Contract createContractFile', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
128
|
+
var wallet, timeStamp, fileHash, ownerAddress, ownerList, jsonString, result;
|
|
129
|
+
return __generator(this, function (_a) {
|
|
130
|
+
switch (_a.label) {
|
|
131
|
+
case 0: return [4 /*yield*/, firma.Wallet.fromMnemonic(config_test_1.aliceMnemonic)];
|
|
132
|
+
case 1:
|
|
133
|
+
wallet = _a.sent();
|
|
134
|
+
timeStamp = Math.round(+new Date() / 1000);
|
|
135
|
+
fileHash = "0xklsdjflaksjflaksjf" + timeStamp;
|
|
136
|
+
return [4 /*yield*/, wallet.getAddress()];
|
|
137
|
+
case 2:
|
|
138
|
+
ownerAddress = _a.sent();
|
|
139
|
+
ownerList = [ownerAddress, ownerAddress];
|
|
140
|
+
jsonString = "{}";
|
|
141
|
+
return [4 /*yield*/, firma.Contract.createContractFile(wallet, fileHash, timeStamp, ownerList, jsonString)];
|
|
142
|
+
case 3:
|
|
143
|
+
result = _a.sent();
|
|
144
|
+
chai_1.expect(result.code).equal(0);
|
|
145
|
+
return [2 /*return*/];
|
|
146
|
+
}
|
|
147
|
+
});
|
|
148
|
+
}); });
|
|
149
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,222 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
12
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
13
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
14
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
15
|
+
function step(op) {
|
|
16
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
17
|
+
while (_) try {
|
|
18
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
19
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
20
|
+
switch (op[0]) {
|
|
21
|
+
case 0: case 1: t = op; break;
|
|
22
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
23
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
24
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
25
|
+
default:
|
|
26
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
27
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
28
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
29
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
30
|
+
if (t[2]) _.ops.pop();
|
|
31
|
+
_.trys.pop(); continue;
|
|
32
|
+
}
|
|
33
|
+
op = body.call(thisArg, _);
|
|
34
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
35
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
var chai_1 = require("chai");
|
|
40
|
+
var FirmaSDK_1 = require("../sdk/FirmaSDK");
|
|
41
|
+
var FirmaUtil_1 = require("../sdk/FirmaUtil");
|
|
42
|
+
var config_test_1 = require("./config_test");
|
|
43
|
+
describe('[02. Contract Query Test]', function () {
|
|
44
|
+
var firma;
|
|
45
|
+
beforeEach(function () {
|
|
46
|
+
firma = new FirmaSDK_1.FirmaSDK(config_test_1.TestChainConfig);
|
|
47
|
+
});
|
|
48
|
+
it('Contract getContractLogAll-pagination', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
49
|
+
var result, total, totalItemList, index, i, i;
|
|
50
|
+
return __generator(this, function (_a) {
|
|
51
|
+
switch (_a.label) {
|
|
52
|
+
case 0: return [4 /*yield*/, firma.Contract.getContractLogAll()];
|
|
53
|
+
case 1:
|
|
54
|
+
result = _a.sent();
|
|
55
|
+
total = result.pagination.total;
|
|
56
|
+
totalItemList = [];
|
|
57
|
+
index = 0;
|
|
58
|
+
_a.label = 2;
|
|
59
|
+
case 2:
|
|
60
|
+
if (!(result.pagination.next_key != null)) return [3 /*break*/, 4];
|
|
61
|
+
for (i = 0; i < result.dataList.length; i++) {
|
|
62
|
+
totalItemList[index++] = result.dataList[i];
|
|
63
|
+
}
|
|
64
|
+
return [4 /*yield*/, firma.Contract.getContractLogAll(result.pagination.next_key)];
|
|
65
|
+
case 3:
|
|
66
|
+
result = _a.sent();
|
|
67
|
+
return [3 /*break*/, 2];
|
|
68
|
+
case 4:
|
|
69
|
+
for (i = 0; i < result.dataList.length; i++) {
|
|
70
|
+
totalItemList[index++] = result.dataList[i];
|
|
71
|
+
}
|
|
72
|
+
chai_1.expect(totalItemList.length).to.be.equal(total);
|
|
73
|
+
return [2 /*return*/];
|
|
74
|
+
}
|
|
75
|
+
});
|
|
76
|
+
}); });
|
|
77
|
+
it('Contract getContractLogAll', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
78
|
+
var contractLogList;
|
|
79
|
+
return __generator(this, function (_a) {
|
|
80
|
+
switch (_a.label) {
|
|
81
|
+
case 0: return [4 /*yield*/, firma.Contract.getContractLogAll()];
|
|
82
|
+
case 1:
|
|
83
|
+
contractLogList = _a.sent();
|
|
84
|
+
chai_1.expect(contractLogList.dataList.length).to.be.equal(contractLogList.dataList.length);
|
|
85
|
+
chai_1.expect(contractLogList.dataList.length).to.be.greaterThan(0);
|
|
86
|
+
return [2 /*return*/];
|
|
87
|
+
}
|
|
88
|
+
});
|
|
89
|
+
}); });
|
|
90
|
+
it('Contract getContractLog', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
91
|
+
var logId, contractLog;
|
|
92
|
+
return __generator(this, function (_a) {
|
|
93
|
+
switch (_a.label) {
|
|
94
|
+
case 0:
|
|
95
|
+
logId = "0";
|
|
96
|
+
return [4 /*yield*/, firma.Contract.getContractLog(logId)];
|
|
97
|
+
case 1:
|
|
98
|
+
contractLog = _a.sent();
|
|
99
|
+
chai_1.expect(contractLog.id).to.be.equal(logId);
|
|
100
|
+
return [2 /*return*/];
|
|
101
|
+
}
|
|
102
|
+
});
|
|
103
|
+
}); });
|
|
104
|
+
it('Contract getContractFileAll-pagination', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
105
|
+
var result, total, totalItemList, index, i, i;
|
|
106
|
+
return __generator(this, function (_a) {
|
|
107
|
+
switch (_a.label) {
|
|
108
|
+
case 0: return [4 /*yield*/, firma.Contract.getContractFileAll()];
|
|
109
|
+
case 1:
|
|
110
|
+
result = _a.sent();
|
|
111
|
+
total = result.pagination.total;
|
|
112
|
+
totalItemList = [];
|
|
113
|
+
index = 0;
|
|
114
|
+
_a.label = 2;
|
|
115
|
+
case 2:
|
|
116
|
+
if (!(result.pagination.next_key != null)) return [3 /*break*/, 4];
|
|
117
|
+
for (i = 0; i < result.dataList.length; i++) {
|
|
118
|
+
totalItemList[index++] = result.dataList[i];
|
|
119
|
+
}
|
|
120
|
+
return [4 /*yield*/, firma.Contract.getContractFileAll(result.pagination.next_key)];
|
|
121
|
+
case 3:
|
|
122
|
+
result = _a.sent();
|
|
123
|
+
return [3 /*break*/, 2];
|
|
124
|
+
case 4:
|
|
125
|
+
for (i = 0; i < result.dataList.length; i++) {
|
|
126
|
+
totalItemList[index++] = result.dataList[i];
|
|
127
|
+
}
|
|
128
|
+
chai_1.expect(totalItemList.length).to.be.equal(total);
|
|
129
|
+
return [2 /*return*/];
|
|
130
|
+
}
|
|
131
|
+
});
|
|
132
|
+
}); });
|
|
133
|
+
it('Contract getContractFileAll', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
134
|
+
var contractFileList;
|
|
135
|
+
return __generator(this, function (_a) {
|
|
136
|
+
switch (_a.label) {
|
|
137
|
+
case 0: return [4 /*yield*/, firma.Contract.getContractFileAll()];
|
|
138
|
+
case 1:
|
|
139
|
+
contractFileList = _a.sent();
|
|
140
|
+
// for(var i = 0; i < contractFileList.length; i++){
|
|
141
|
+
// console.log(contractFileList[i]);
|
|
142
|
+
// }
|
|
143
|
+
//console.log("contractFileList:" + contractFileList.length);
|
|
144
|
+
chai_1.expect(contractFileList.dataList.length).to.be.equal(contractFileList.dataList.length);
|
|
145
|
+
chai_1.expect(contractFileList.dataList.length).to.be.greaterThan(0);
|
|
146
|
+
return [2 /*return*/];
|
|
147
|
+
}
|
|
148
|
+
});
|
|
149
|
+
}); });
|
|
150
|
+
it.skip('Contract getContractFile', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
151
|
+
var contractFileHash, contractFile;
|
|
152
|
+
return __generator(this, function (_a) {
|
|
153
|
+
switch (_a.label) {
|
|
154
|
+
case 0:
|
|
155
|
+
contractFileHash = "e3b0c44afbf4c8996fb92427ae41e4649b934ca495991b7852b85531231asddaqwqe";
|
|
156
|
+
return [4 /*yield*/, firma.Contract.getContractFile(contractFileHash)];
|
|
157
|
+
case 1:
|
|
158
|
+
contractFile = _a.sent();
|
|
159
|
+
chai_1.expect(contractFile.fileHash).to.be.equal(contractFileHash);
|
|
160
|
+
return [2 /*return*/];
|
|
161
|
+
}
|
|
162
|
+
});
|
|
163
|
+
}); });
|
|
164
|
+
it('Contract getContractListFromHash', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
165
|
+
var contractHash, idList, i, data;
|
|
166
|
+
return __generator(this, function (_a) {
|
|
167
|
+
switch (_a.label) {
|
|
168
|
+
case 0:
|
|
169
|
+
contractHash = "0xsalkdjfasldkjf2";
|
|
170
|
+
return [4 /*yield*/, firma.Contract.getContractListFromHash(contractHash)];
|
|
171
|
+
case 1:
|
|
172
|
+
idList = _a.sent();
|
|
173
|
+
i = 0;
|
|
174
|
+
_a.label = 2;
|
|
175
|
+
case 2:
|
|
176
|
+
if (!(i < idList.length)) return [3 /*break*/, 5];
|
|
177
|
+
return [4 /*yield*/, firma.Contract.getContractLog(idList[i])];
|
|
178
|
+
case 3:
|
|
179
|
+
data = _a.sent();
|
|
180
|
+
_a.label = 4;
|
|
181
|
+
case 4:
|
|
182
|
+
i++;
|
|
183
|
+
return [3 /*break*/, 2];
|
|
184
|
+
case 5:
|
|
185
|
+
chai_1.expect(idList.length).to.be.greaterThan(0);
|
|
186
|
+
return [2 /*return*/];
|
|
187
|
+
}
|
|
188
|
+
});
|
|
189
|
+
}); });
|
|
190
|
+
it.skip('Contract isContractOwner', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
191
|
+
var contractFileHash, owner1, owner2, isOwner;
|
|
192
|
+
return __generator(this, function (_a) {
|
|
193
|
+
switch (_a.label) {
|
|
194
|
+
case 0:
|
|
195
|
+
contractFileHash = "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b85531231asddaqwqe";
|
|
196
|
+
owner1 = "firma1nssuz67am2uwc2hjgvphg0fmj3k9l6cx65ux9u0kdjaaldlq";
|
|
197
|
+
owner2 = "firma106a9nzxcxu526z4cx6nq4zqpx7ctrx65a020yk23kdjaaldlq";
|
|
198
|
+
return [4 /*yield*/, firma.Contract.isContractOwner(contractFileHash, owner1)];
|
|
199
|
+
case 1:
|
|
200
|
+
isOwner = _a.sent();
|
|
201
|
+
chai_1.expect(isOwner).to.be.equal(true);
|
|
202
|
+
return [4 /*yield*/, firma.Contract.isContractOwner(contractFileHash, owner2)];
|
|
203
|
+
case 2:
|
|
204
|
+
isOwner = _a.sent();
|
|
205
|
+
chai_1.expect(isOwner).to.be.equal(true);
|
|
206
|
+
return [2 /*return*/];
|
|
207
|
+
}
|
|
208
|
+
});
|
|
209
|
+
}); });
|
|
210
|
+
it('Contract getFileHash', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
211
|
+
var fileHash;
|
|
212
|
+
return __generator(this, function (_a) {
|
|
213
|
+
switch (_a.label) {
|
|
214
|
+
case 0: return [4 /*yield*/, FirmaUtil_1.FirmaUtil.getFileHash("./test/sample/sample_contract.pdf")];
|
|
215
|
+
case 1:
|
|
216
|
+
fileHash = _a.sent();
|
|
217
|
+
chai_1.expect(fileHash).to.be.equal("61faa15f52f19fc4c4e32e1f1208bf8d6d8134ac0a4b15bcfe05bc420e1aedb0");
|
|
218
|
+
return [2 /*return*/];
|
|
219
|
+
}
|
|
220
|
+
});
|
|
221
|
+
}); });
|
|
222
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|