stackswap-front-api-test-02 1.1.96 → 1.1.100
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/esm/stackswap/config.d.ts +2 -0
- package/dist/esm/stackswap/config.js +3 -0
- package/dist/esm/stackswap/config.js.map +1 -1
- package/dist/esm/stackswap/manager/governance.manager.d.ts +3 -3
- package/dist/esm/stackswap/manager/governance.manager.js +29 -15
- package/dist/esm/stackswap/manager/governance.manager.js.map +1 -1
- package/dist/index.umd.js +1 -1
- package/dist/stackswap/config.d.ts +2 -0
- package/dist/stackswap/config.js +3 -0
- package/dist/stackswap/config.js.map +1 -1
- package/dist/stackswap/manager/governance.manager.d.ts +3 -3
- package/dist/stackswap/manager/governance.manager.js +28 -14
- package/dist/stackswap/manager/governance.manager.js.map +1 -1
- package/package.json +1 -1
- package/src/stackswap/config.ts +4 -0
- package/src/stackswap/manager/governance.manager.ts +34 -17
|
@@ -14,6 +14,7 @@ export interface StackswapConfig {
|
|
|
14
14
|
CONTRACT_NAME_STACKSWAP_ONE_STEP_GROUP_FARM: () => string;
|
|
15
15
|
CONTRACT_NAME_STACKSWAP_DAO: () => string;
|
|
16
16
|
CONTRACT_NAME_STACKSWAP_GOVERNANCE: () => string;
|
|
17
|
+
CONTRACT_NAME_STACKSWAP_GOVERNANCE_LIST: () => any[];
|
|
17
18
|
CONTRACT_NAME_STACKSWAP_FARMING: () => string;
|
|
18
19
|
CONTRACT_NAME_STACKSWAP_FARMING2_1: () => string;
|
|
19
20
|
CONTRACT_NAME_STACKSWAP_FARMING2_2: () => string;
|
|
@@ -89,6 +90,7 @@ export declare class StackswapMainetConfig implements StackswapConfig {
|
|
|
89
90
|
CONTRACT_NAME_STACKSWAP_FARMING_LOGIC_3(): string;
|
|
90
91
|
CONTRACT_NAME_STACKSWAP_FARMING_DATA_3(): string;
|
|
91
92
|
CONTRACT_NAME_STACKSWAP_GOVERNANCE(): string;
|
|
93
|
+
CONTRACT_NAME_STACKSWAP_GOVERNANCE_LIST(): any[];
|
|
92
94
|
CONTRACT_NAME_STACKSWAP_ONE_STEP_MINT(): string;
|
|
93
95
|
CONTRACT_NAME_STACKSWAP_ONE_STEP_MINT_CITY(): string;
|
|
94
96
|
CONTRACT_NAME_STACKSWAP_ROUTER_SWAP(): string;
|
package/dist/stackswap/config.js
CHANGED
|
@@ -78,6 +78,9 @@ class StackswapMainetConfig {
|
|
|
78
78
|
CONTRACT_NAME_STACKSWAP_GOVERNANCE() {
|
|
79
79
|
return 'stackswap-governance-v5k';
|
|
80
80
|
}
|
|
81
|
+
CONTRACT_NAME_STACKSWAP_GOVERNANCE_LIST() {
|
|
82
|
+
return [{ version: 1, name: 'stackswap-governance-v5k' }, { version: 2, name: 'stackswap-governance-v5l' }];
|
|
83
|
+
}
|
|
81
84
|
CONTRACT_NAME_STACKSWAP_ONE_STEP_MINT() {
|
|
82
85
|
return 'stackswap-one-step-mint-v5k';
|
|
83
86
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/stackswap/config.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/stackswap/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@ export declare class GovernanceManager {
|
|
|
3
3
|
stackswap: StackswapAPI;
|
|
4
4
|
constructor(stackswap: StackswapAPI);
|
|
5
5
|
getProposalsList(): Promise<any>;
|
|
6
|
-
getNumVoting(proposal_id: number): Promise<any[]>;
|
|
7
|
-
txWithdrawVoting(proposal_id: number, callback?: any): Promise<void>;
|
|
8
|
-
txVote(proposal_id: number, vote_mode: string, vote_amount: any, callback?: any): Promise<void>;
|
|
6
|
+
getNumVoting(proposal_id: number, governance_name?: string): Promise<any[]>;
|
|
7
|
+
txWithdrawVoting(proposal_id: number, _amount: string, callback?: any, governance_name?: string): Promise<void>;
|
|
8
|
+
txVote(proposal_id: number, vote_mode: string, vote_amount: any, callback?: any, governance_name?: string): Promise<void>;
|
|
9
9
|
}
|
|
@@ -13,17 +13,29 @@ class GovernanceManager {
|
|
|
13
13
|
this.stackswap = stackswap;
|
|
14
14
|
}
|
|
15
15
|
async getProposalsList() {
|
|
16
|
-
const function_option = (0, util_1.getReadOptions)(this.stackswap, this.stackswap.config.CONTRACT_NAME_STACKSWAP_GOVERNANCE(), 'get-proposals', []);
|
|
17
|
-
const result_raw = await (0, transactions_1.callReadOnlyFunction)(function_option);
|
|
18
|
-
const result = (0, transactions_1.cvToValue)(result_raw);
|
|
19
16
|
let res_list = [];
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
17
|
+
for (const governance of this.stackswap.config.CONTRACT_NAME_STACKSWAP_GOVERNANCE_LIST()) {
|
|
18
|
+
let args = [];
|
|
19
|
+
if (governance.version == 2) {
|
|
20
|
+
const arg2 = [];
|
|
21
|
+
for (let i = 0; i < 30; i++) {
|
|
22
|
+
arg2.push((0, transactions_1.uintCV)(i));
|
|
23
|
+
}
|
|
24
|
+
args.push((0, transactions_1.listCV)(arg2));
|
|
25
|
+
}
|
|
26
|
+
const function_option = (0, util_1.getReadOptions)(this.stackswap, governance.name, 'get-proposals', args);
|
|
27
|
+
const result_raw = await (0, transactions_1.callReadOnlyFunction)(function_option);
|
|
28
|
+
const result = (0, transactions_1.cvToValue)(result_raw);
|
|
29
|
+
result.value.forEach((element) => {
|
|
30
|
+
if (Number(element.value['end-block-height']) != 0)
|
|
31
|
+
element.value['contract-name'] = governance.name;
|
|
32
|
+
res_list.push(element.value);
|
|
33
|
+
});
|
|
34
|
+
}
|
|
23
35
|
return res_list;
|
|
24
36
|
}
|
|
25
|
-
async getNumVoting(proposal_id) {
|
|
26
|
-
const function_option = (0, util_1.getReadOptions)(this.stackswap,
|
|
37
|
+
async getNumVoting(proposal_id, governance_name = this.stackswap.config.CONTRACT_NAME_STACKSWAP_GOVERNANCE()) {
|
|
38
|
+
const function_option = (0, util_1.getReadOptions)(this.stackswap, governance_name, 'get-votes-by-member-by-id', [
|
|
27
39
|
(0, transactions_1.uintCV)(proposal_id),
|
|
28
40
|
(0, transactions_1.standardPrincipalCV)(this.stackswap.getSenderAddress())
|
|
29
41
|
]);
|
|
@@ -31,24 +43,26 @@ class GovernanceManager {
|
|
|
31
43
|
const result = (0, transactions_1.cvToValue)(result_raw);
|
|
32
44
|
return [result['vote-count'].value, result.returned.value];
|
|
33
45
|
}
|
|
34
|
-
async txWithdrawVoting(proposal_id, callback = null) {
|
|
35
|
-
const
|
|
46
|
+
async txWithdrawVoting(proposal_id, _amount, callback = null, governance_name = this.stackswap.config.CONTRACT_NAME_STACKSWAP_GOVERNANCE()) {
|
|
47
|
+
const post_condition = [];
|
|
48
|
+
post_condition.push(await (0, util_1.getPostConditionFromAsset)(this.stackswap, this.stackswap.config.STACKSWAP_ADDRESS() + '.' + this.stackswap.config.CONTRACT_NAME_STACKSWAP_GOVERNANCE(), this.stackswap.config.BASE_vSTSW_DATA().addr, _amount, transactions_1.FungibleConditionCode.Equal));
|
|
49
|
+
const function_option = (0, util_1.getWriteOptions)(this.stackswap, governance_name, 'return-votes-to-member', [
|
|
36
50
|
(0, transactions_1.uintCV)(proposal_id),
|
|
37
51
|
(0, transactions_1.standardPrincipalCV)(this.stackswap.getSenderAddress())
|
|
38
|
-
], callback);
|
|
52
|
+
], post_condition, callback);
|
|
39
53
|
await (0, connect_1.openContractCall)(function_option);
|
|
40
54
|
}
|
|
41
|
-
async txVote(proposal_id, vote_mode, vote_amount, callback = null) {
|
|
55
|
+
async txVote(proposal_id, vote_mode, vote_amount, callback = null, governance_name = this.stackswap.config.CONTRACT_NAME_STACKSWAP_GOVERNANCE()) {
|
|
42
56
|
const vote_amount_bn = new bignumber_js_1.default(10 ** 6).multipliedBy(parseFloat(vote_amount)).toFixed(0).toString();
|
|
43
57
|
const post_condition = [await (0, util_1.getPostConditionFromAsset)(this.stackswap, this.stackswap.getSenderAddress(), this.stackswap.config.BASE_vSTSW_DATA().addr, vote_amount_bn, transactions_1.FungibleConditionCode.Equal)];
|
|
44
58
|
let function_option = null;
|
|
45
59
|
if (vote_mode === 'For') {
|
|
46
|
-
function_option = (0, util_1.getWriteOptions)(this.stackswap,
|
|
60
|
+
function_option = (0, util_1.getWriteOptions)(this.stackswap, governance_name, 'vote-for', [
|
|
47
61
|
(0, transactions_1.uintCV)(proposal_id), (0, transactions_1.uintCV)(vote_amount_bn)
|
|
48
62
|
], post_condition, callback);
|
|
49
63
|
}
|
|
50
64
|
else if (vote_mode === 'Against') {
|
|
51
|
-
function_option = (0, util_1.getWriteOptions)(this.stackswap,
|
|
65
|
+
function_option = (0, util_1.getWriteOptions)(this.stackswap, governance_name, 'vote-against', [
|
|
52
66
|
(0, transactions_1.uintCV)(proposal_id), (0, transactions_1.uintCV)(vote_amount_bn)
|
|
53
67
|
], post_condition, callback);
|
|
54
68
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"governance.manager.js","sourceRoot":"","sources":["../../../src/stackswap/manager/governance.manager.ts"],"names":[],"mappings":";;;;;;AAAA,uDAM8B;AAC9B,6CAAiD;AACjD,gEAAqC;AACrC,kCAAmF;AAGnF,MAAa,iBAAiB;IAG5B,YAAY,SAAuB;QACjC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IAGD,KAAK,CAAC,gBAAgB;QACpB,
|
|
1
|
+
{"version":3,"file":"governance.manager.js","sourceRoot":"","sources":["../../../src/stackswap/manager/governance.manager.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/stackswap/config.ts
CHANGED
|
@@ -15,6 +15,7 @@ export interface StackswapConfig {
|
|
|
15
15
|
CONTRACT_NAME_STACKSWAP_ONE_STEP_GROUP_FARM: () => string;
|
|
16
16
|
CONTRACT_NAME_STACKSWAP_DAO: () => string;
|
|
17
17
|
CONTRACT_NAME_STACKSWAP_GOVERNANCE: () => string;
|
|
18
|
+
CONTRACT_NAME_STACKSWAP_GOVERNANCE_LIST: () => any[];
|
|
18
19
|
CONTRACT_NAME_STACKSWAP_FARMING: () => string;
|
|
19
20
|
CONTRACT_NAME_STACKSWAP_FARMING2_1: () => string;
|
|
20
21
|
CONTRACT_NAME_STACKSWAP_FARMING2_2: () => string;
|
|
@@ -167,6 +168,9 @@ export class StackswapMainetConfig implements StackswapConfig {
|
|
|
167
168
|
CONTRACT_NAME_STACKSWAP_GOVERNANCE(): string {
|
|
168
169
|
return 'stackswap-governance-v5k';
|
|
169
170
|
}
|
|
171
|
+
CONTRACT_NAME_STACKSWAP_GOVERNANCE_LIST(): any[] {
|
|
172
|
+
return [{version: 1, name: 'stackswap-governance-v5k'},{version: 2, name: 'stackswap-governance-v5l'}];
|
|
173
|
+
}
|
|
170
174
|
|
|
171
175
|
CONTRACT_NAME_STACKSWAP_ONE_STEP_MINT(): string {
|
|
172
176
|
return 'stackswap-one-step-mint-v5k';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
callReadOnlyFunction,
|
|
3
3
|
cvToValue,
|
|
4
|
-
FungibleConditionCode,
|
|
4
|
+
FungibleConditionCode, listCV,
|
|
5
5
|
standardPrincipalCV,
|
|
6
6
|
uintCV
|
|
7
7
|
} from "@stacks/transactions";
|
|
@@ -19,23 +19,37 @@ export class GovernanceManager {
|
|
|
19
19
|
|
|
20
20
|
|
|
21
21
|
async getProposalsList(){
|
|
22
|
-
|
|
23
|
-
const result_raw = await callReadOnlyFunction(function_option);
|
|
22
|
+
let res_list:any = [];
|
|
24
23
|
|
|
25
|
-
const
|
|
24
|
+
for (const governance of this.stackswap.config.CONTRACT_NAME_STACKSWAP_GOVERNANCE_LIST()) {
|
|
25
|
+
let args = [];
|
|
26
|
+
if (governance.version == 2){
|
|
27
|
+
const arg2 = []
|
|
28
|
+
for(let i = 0; i < 30; i ++){
|
|
29
|
+
arg2.push(uintCV(i))
|
|
30
|
+
}
|
|
31
|
+
args.push(listCV(arg2))
|
|
32
|
+
}
|
|
33
|
+
const function_option : any = getReadOptions(this.stackswap, governance.name,'get-proposals',args);
|
|
34
|
+
const result_raw = await callReadOnlyFunction(function_option);
|
|
35
|
+
|
|
36
|
+
const result = cvToValue(result_raw);
|
|
37
|
+
|
|
38
|
+
// tslint:disable-next-line:prefer-const
|
|
39
|
+
result.value.forEach((element:any) =>{
|
|
40
|
+
if(Number(element.value['end-block-height']) != 0)
|
|
41
|
+
element.value['contract-name'] = governance.name
|
|
42
|
+
res_list.push(element.value);
|
|
43
|
+
});
|
|
44
|
+
}
|
|
26
45
|
|
|
27
|
-
// tslint:disable-next-line:prefer-const
|
|
28
|
-
let res_list:any = [];
|
|
29
|
-
result.value.forEach((element:any) =>{
|
|
30
|
-
res_list.push(element.value);
|
|
31
|
-
});
|
|
32
46
|
return res_list;
|
|
33
47
|
}
|
|
34
48
|
|
|
35
|
-
async getNumVoting(proposal_id:number) {
|
|
49
|
+
async getNumVoting(proposal_id:number, governance_name: string = this.stackswap.config.CONTRACT_NAME_STACKSWAP_GOVERNANCE()) {
|
|
36
50
|
const function_option : any = getReadOptions(
|
|
37
51
|
this.stackswap,
|
|
38
|
-
|
|
52
|
+
governance_name,
|
|
39
53
|
'get-votes-by-member-by-id',
|
|
40
54
|
[
|
|
41
55
|
uintCV(proposal_id),
|
|
@@ -48,21 +62,24 @@ export class GovernanceManager {
|
|
|
48
62
|
}
|
|
49
63
|
|
|
50
64
|
|
|
51
|
-
async txWithdrawVoting(proposal_id:number, callback: any = null) {
|
|
65
|
+
async txWithdrawVoting(proposal_id:number, _amount: string, callback: any = null, governance_name: string = this.stackswap.config.CONTRACT_NAME_STACKSWAP_GOVERNANCE()) {
|
|
66
|
+
const post_condition = [];
|
|
67
|
+
post_condition.push(await getPostConditionFromAsset(this.stackswap, this.stackswap.config.STACKSWAP_ADDRESS()+'.'+this.stackswap.config.CONTRACT_NAME_STACKSWAP_GOVERNANCE(), this.stackswap.config.BASE_vSTSW_DATA().addr, _amount, FungibleConditionCode.Equal));
|
|
68
|
+
|
|
52
69
|
const function_option : any = getWriteOptions(
|
|
53
70
|
this.stackswap,
|
|
54
|
-
|
|
71
|
+
governance_name,
|
|
55
72
|
'return-votes-to-member',
|
|
56
73
|
[
|
|
57
74
|
uintCV(proposal_id),
|
|
58
75
|
standardPrincipalCV(this.stackswap.getSenderAddress())
|
|
59
|
-
], callback);
|
|
76
|
+
], post_condition, callback);
|
|
60
77
|
await openContractCall(function_option);
|
|
61
78
|
// // console.log("TTT", cvToValue(result_raw))
|
|
62
79
|
}
|
|
63
80
|
|
|
64
81
|
|
|
65
|
-
async txVote(proposal_id:number, vote_mode:string, vote_amount:any, callback: any = null){
|
|
82
|
+
async txVote(proposal_id:number, vote_mode:string, vote_amount:any, callback: any = null, governance_name: string = this.stackswap.config.CONTRACT_NAME_STACKSWAP_GOVERNANCE()){
|
|
66
83
|
// // console.log("TT", typeof(vote_mode), vote_mode)
|
|
67
84
|
// // console.log("TT", typeof(vote_amount), vote_amount)
|
|
68
85
|
// // console.log("TT", typeof(BASE_vSTSW_DATA().decimal), BASE_vSTSW_DATA().decimal)
|
|
@@ -76,14 +93,14 @@ export class GovernanceManager {
|
|
|
76
93
|
if(vote_mode==='For'){
|
|
77
94
|
function_option = getWriteOptions(
|
|
78
95
|
this.stackswap,
|
|
79
|
-
|
|
96
|
+
governance_name,
|
|
80
97
|
'vote-for',[
|
|
81
98
|
uintCV(proposal_id), uintCV(vote_amount_bn)],
|
|
82
99
|
post_condition, callback);
|
|
83
100
|
}else if (vote_mode === 'Against'){
|
|
84
101
|
function_option = getWriteOptions(
|
|
85
102
|
this.stackswap,
|
|
86
|
-
|
|
103
|
+
governance_name,
|
|
87
104
|
'vote-against',[
|
|
88
105
|
uintCV(proposal_id), uintCV(vote_amount_bn)],
|
|
89
106
|
post_condition, callback);
|