@partisiablockchain/abi-client 5.102.0 → 5.110.0
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/package.json +3 -3
- package/target/main/deploymentclient/DeploymentBuilder.d.ts +6 -3
- package/target/main/deploymentclient/DeploymentBuilder.js +2 -0
- package/target/main/deploymentclient/DeploymentBuilder.js.map +1 -1
- package/target/main/deploymentclient/DeploymentClient.d.ts +7 -0
- package/target/main/deploymentclient/DeploymentClient.js +9 -0
- package/target/main/deploymentclient/DeploymentClient.js.map +1 -1
- package/target/main/deploymentclient/UpgradeBuilder.d.ts +91 -0
- package/target/main/deploymentclient/UpgradeBuilder.js +206 -0
- package/target/main/deploymentclient/UpgradeBuilder.js.map +1 -0
- package/target/main/parser/RustSyntaxPrettyPrinter.d.ts +7 -0
- package/target/main/parser/RustSyntaxPrettyPrinter.js +51 -14
- package/target/main/parser/RustSyntaxPrettyPrinter.js.map +1 -1
package/package.json
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@partisiablockchain/abi-client",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.110.0",
|
|
4
4
|
"description": "",
|
|
5
5
|
"license": "AGPL-3.0",
|
|
6
6
|
"dependencies": {
|
|
7
|
-
"@partisiablockchain/blockchain-api-transaction-client": "5.
|
|
8
|
-
"@partisiablockchain/sections": "5.
|
|
7
|
+
"@partisiablockchain/blockchain-api-transaction-client": "5.79.0",
|
|
8
|
+
"@partisiablockchain/sections": "5.37.0",
|
|
9
9
|
"@secata-public/bitmanipulation-ts": "3.3.0",
|
|
10
10
|
"@types/bn.js": "^5.1.6",
|
|
11
11
|
"@types/elliptic": "^6.4.18",
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { BlockchainClientForDeployment, DeployResult, VersionInterval } from "./DeploymentTypes";
|
|
2
2
|
import { PbcFile } from "@partisiablockchain/sections";
|
|
3
|
+
import { ContractAbi } from "../parser/ContractAbi";
|
|
3
4
|
import { AbiVersion } from "../types/AbiVersion";
|
|
4
|
-
import { SignedTransaction } from "@partisiablockchain/blockchain-api-transaction-client";
|
|
5
|
+
import { SignedTransaction, TransactionTree } from "@partisiablockchain/blockchain-api-transaction-client";
|
|
5
6
|
import { AbstractBuilder } from "../builder/AbstractBuilder";
|
|
6
7
|
export declare class DeploymentBuilder {
|
|
7
|
-
|
|
8
|
-
|
|
8
|
+
static readonly DEFAULT_PUB_ADDRESS: string;
|
|
9
|
+
static readonly DEFAULT_REAL_ADDRESS: string;
|
|
9
10
|
private static readonly DEFAULT_ALLOWED_JURISDICTION;
|
|
10
11
|
private static readonly DEFAULT_REQUIRED_STAKES;
|
|
11
12
|
private static readonly DEFAULT_PUB_GAS_COST;
|
|
@@ -171,4 +172,6 @@ export declare class DeploymentBuilder {
|
|
|
171
172
|
private pubDeployRpc;
|
|
172
173
|
private getInitializationBytes;
|
|
173
174
|
}
|
|
175
|
+
export declare function getSupportedBinderVersions(deployState: Buffer, deployAbi: ContractAbi): Map<number, VersionInterval>;
|
|
174
176
|
export declare function findBinderId(binders: Map<number, VersionInterval>, binderVersion: AbiVersion): number;
|
|
177
|
+
export declare function findFailureCause(transactionTree: TransactionTree): string | undefined;
|
|
@@ -27,7 +27,9 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
27
27
|
};
|
|
28
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
29
|
exports.DeploymentBuilder = void 0;
|
|
30
|
+
exports.getSupportedBinderVersions = getSupportedBinderVersions;
|
|
30
31
|
exports.findBinderId = findBinderId;
|
|
32
|
+
exports.findFailureCause = findFailureCause;
|
|
31
33
|
const sections_1 = require("@partisiablockchain/sections");
|
|
32
34
|
const AbiParser_1 = require("../parser/AbiParser");
|
|
33
35
|
const StateReader_1 = require("../state/StateReader");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DeploymentBuilder.js","sourceRoot":"","sources":["../../../src/main/deploymentclient/DeploymentBuilder.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;GAgBG;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"DeploymentBuilder.js","sourceRoot":"","sources":["../../../src/main/deploymentclient/DeploymentBuilder.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { BlockchainClientForDeployment } from "./DeploymentTypes";
|
|
2
2
|
import { BlockchainTransactionClient, ChainControllerApi, SenderAuthentication } from "@partisiablockchain/blockchain-api-transaction-client";
|
|
3
3
|
import { DeploymentBuilder } from "./DeploymentBuilder";
|
|
4
|
+
import { UpgradeBuilder } from "./UpgradeBuilder";
|
|
4
5
|
/** Client for deploying contracts. */
|
|
5
6
|
export declare class DeploymentClient {
|
|
6
7
|
private readonly blockchainClient;
|
|
@@ -32,4 +33,10 @@ export declare class DeploymentClient {
|
|
|
32
33
|
* @returns a DeploymentBuilder
|
|
33
34
|
*/
|
|
34
35
|
builder(): DeploymentBuilder;
|
|
36
|
+
/**
|
|
37
|
+
* Create a builder for upgrading a contract.
|
|
38
|
+
*
|
|
39
|
+
* @returns a {@link UpgradeBuilder}
|
|
40
|
+
*/
|
|
41
|
+
upgradeBuilder(): UpgradeBuilder;
|
|
35
42
|
}
|
|
@@ -21,6 +21,7 @@ exports.DeploymentClient = void 0;
|
|
|
21
21
|
const blockchain_api_transaction_client_1 = require("@partisiablockchain/blockchain-api-transaction-client");
|
|
22
22
|
const BlockchainClientForDeploymentImpl_1 = require("./BlockchainClientForDeploymentImpl");
|
|
23
23
|
const DeploymentBuilder_1 = require("./DeploymentBuilder");
|
|
24
|
+
const UpgradeBuilder_1 = require("./UpgradeBuilder");
|
|
24
25
|
/** Client for deploying contracts. */
|
|
25
26
|
class DeploymentClient {
|
|
26
27
|
/**
|
|
@@ -62,6 +63,14 @@ class DeploymentClient {
|
|
|
62
63
|
builder() {
|
|
63
64
|
return new DeploymentBuilder_1.DeploymentBuilder(this.blockchainClient);
|
|
64
65
|
}
|
|
66
|
+
/**
|
|
67
|
+
* Create a builder for upgrading a contract.
|
|
68
|
+
*
|
|
69
|
+
* @returns a {@link UpgradeBuilder}
|
|
70
|
+
*/
|
|
71
|
+
upgradeBuilder() {
|
|
72
|
+
return new UpgradeBuilder_1.UpgradeBuilder(this.blockchainClient);
|
|
73
|
+
}
|
|
65
74
|
}
|
|
66
75
|
exports.DeploymentClient = DeploymentClient;
|
|
67
76
|
//# sourceMappingURL=DeploymentClient.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DeploymentClient.js","sourceRoot":"","sources":["../../../src/main/deploymentclient/DeploymentClient.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;GAgBG;;;AAGH,6GAK+D;AAC/D,2FAAwF;AACxF,2DAAwD;
|
|
1
|
+
{"version":3,"file":"DeploymentClient.js","sourceRoot":"","sources":["../../../src/main/deploymentclient/DeploymentClient.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;GAgBG;;;AAGH,6GAK+D;AAC/D,2FAAwF;AACxF,2DAAwD;AACxD,qDAAkD;AAElD,sCAAsC;AACtC,MAAa,gBAAgB;IAG3B;;;;OAIG;IACH,YAAY,gBAA+C;QACzD,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;IAC3C,CAAC;IAED;;;;;;OAMG;IACI,MAAM,CAAC,MAAM,CAClB,iBAA8C,EAC9C,eAAmC;QAEnC,OAAO,IAAI,gBAAgB,CACzB,IAAI,qEAAiC,CAAC,iBAAiB,EAAE,eAAe,CAAC,CAC1E,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACI,MAAM,CAAC,aAAa,CAAC,OAAe,EAAE,oBAA0C;QACrF,MAAM,aAAa,GAAG,IAAI,iDAAa,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;QAC/D,MAAM,eAAe,GAAuB,IAAI,sDAAkB,CAAC,aAAa,CAAC,CAAC;QAClF,MAAM,iBAAiB,GAAG,+DAA2B,CAAC,MAAM,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAC;QAC5F,OAAO,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,eAAe,CAAC,CAAC;IACzD,CAAC;IAED;;;;OAIG;IACI,OAAO;QACZ,OAAO,IAAI,qCAAiB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IACtD,CAAC;IAED;;;;OAIG;IACI,cAAc;QACnB,OAAO,IAAI,+BAAc,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IACnD,CAAC;CACF;AA3DD,4CA2DC"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import { BlockchainClientForDeployment } from "./DeploymentTypes";
|
|
2
|
+
import { PbcFile } from "@partisiablockchain/sections";
|
|
3
|
+
import { SignedTransaction, TransactionTree } from "@partisiablockchain/blockchain-api-transaction-client";
|
|
4
|
+
/** Builder for upgrading contracts through the {@link DeploymentClient}. */
|
|
5
|
+
export declare class UpgradeBuilder {
|
|
6
|
+
static readonly DEFAULT_UPGRADE_COST = 2000000;
|
|
7
|
+
private readonly blockchainClient;
|
|
8
|
+
private abiBytes;
|
|
9
|
+
private contractBytes;
|
|
10
|
+
private upgradeRpcBytes;
|
|
11
|
+
private contractAddressField;
|
|
12
|
+
private gasCostField;
|
|
13
|
+
/**
|
|
14
|
+
* Constructor for {@link UpgradeBuilder}.
|
|
15
|
+
*
|
|
16
|
+
* @param blockchainClient client for getting state and building and sending transactions
|
|
17
|
+
*/
|
|
18
|
+
constructor(blockchainClient: BlockchainClientForDeployment);
|
|
19
|
+
/**
|
|
20
|
+
* Set the abi and contract bytes to upgrade to through a pbc file.
|
|
21
|
+
*
|
|
22
|
+
* <p>It is required to provide the abi and the contract bytes, either through this method or
|
|
23
|
+
* through a combination of {@link #abi} and {@link #wasm}.
|
|
24
|
+
*
|
|
25
|
+
* @param pbcFile the bytes of the pbc file to upgrade to
|
|
26
|
+
* @returns this builder
|
|
27
|
+
*/
|
|
28
|
+
pbcFile(pbcFile: PbcFile | Buffer): UpgradeBuilder;
|
|
29
|
+
/**
|
|
30
|
+
* Set the abi of the contract to upgrade to.
|
|
31
|
+
*
|
|
32
|
+
* <p>It is required to provide the abi either through this method or through {@link #pbcFile}.
|
|
33
|
+
*
|
|
34
|
+
* @param abi abi bytes to upgrade to
|
|
35
|
+
* @returns this builder
|
|
36
|
+
*/
|
|
37
|
+
abi(abi: Buffer): UpgradeBuilder;
|
|
38
|
+
/**
|
|
39
|
+
* Set the contract bytes of the contract to upgrade to.
|
|
40
|
+
*
|
|
41
|
+
* <p>It is required to provide the contract bytes either though this method, or {@link #pbcFile}.
|
|
42
|
+
*
|
|
43
|
+
* @param wasm contract bytes to upgrade to
|
|
44
|
+
* @returns this builder
|
|
45
|
+
*/
|
|
46
|
+
wasm(wasm: Buffer): UpgradeBuilder;
|
|
47
|
+
/**
|
|
48
|
+
* Set the address of the contract to be upgraded.
|
|
49
|
+
*
|
|
50
|
+
* <p>This is a required parameter
|
|
51
|
+
*
|
|
52
|
+
* @param contractAddress address of the contract to be upgraded
|
|
53
|
+
* @returns this builder
|
|
54
|
+
*/
|
|
55
|
+
contractAddress(contractAddress: string): UpgradeBuilder;
|
|
56
|
+
/**
|
|
57
|
+
* Set the rpc given to contract on its upgrade. If not set an empty upgrade rpc is used
|
|
58
|
+
*
|
|
59
|
+
* @param upgradeRpc the upgrade rpc
|
|
60
|
+
* @returns this builder
|
|
61
|
+
*/
|
|
62
|
+
upgradeRpc(upgradeRpc: Buffer): UpgradeBuilder;
|
|
63
|
+
/**
|
|
64
|
+
* Set the gas cost used to upgrade the contract. If not set a default of 2_000_000 gas is used.
|
|
65
|
+
*
|
|
66
|
+
* @param gasCost gas cost used to upgrade the contract
|
|
67
|
+
* @returns this builder
|
|
68
|
+
*/
|
|
69
|
+
gasCost(gasCost: number): UpgradeBuilder;
|
|
70
|
+
/**
|
|
71
|
+
* Build the rpc for the upgrade transaction to the deploy-contract.
|
|
72
|
+
*
|
|
73
|
+
* @returns the rpc for the upgrade transaction
|
|
74
|
+
*/
|
|
75
|
+
buildRpc(): Promise<Buffer>;
|
|
76
|
+
/**
|
|
77
|
+
* Build the signed transaction of the upgrade call.
|
|
78
|
+
*
|
|
79
|
+
* @returns the signed transaction of the upgrade call.
|
|
80
|
+
*/
|
|
81
|
+
build(): Promise<SignedTransaction>;
|
|
82
|
+
/**
|
|
83
|
+
* Build and send the upgrade signed transaction to the pub-deploy contract.
|
|
84
|
+
*
|
|
85
|
+
* @returns the executed transaction tree of the transaction.
|
|
86
|
+
*/
|
|
87
|
+
upgrade(): Promise<TransactionTree>;
|
|
88
|
+
private validateRequiredParameters;
|
|
89
|
+
private determineBinderId;
|
|
90
|
+
private createUpgradeBytes;
|
|
91
|
+
}
|
|
@@ -0,0 +1,206 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* Copyright (C) 2022 - 2023 Partisia Blockchain Foundation
|
|
4
|
+
*
|
|
5
|
+
* This program is free software: you can redistribute it and/or modify
|
|
6
|
+
* it under the terms of the GNU Affero General Public License as published by
|
|
7
|
+
* the Free Software Foundation, either version 3 of the License, or
|
|
8
|
+
* (at your option) any later version.
|
|
9
|
+
*
|
|
10
|
+
* This program is distributed in the hope that it will be useful,
|
|
11
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
12
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
13
|
+
* GNU General Public License for more details.
|
|
14
|
+
*
|
|
15
|
+
* You should have received a copy of the GNU Affero General Public License
|
|
16
|
+
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
17
|
+
*
|
|
18
|
+
*/
|
|
19
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
20
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
21
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
22
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
23
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
24
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
25
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
26
|
+
});
|
|
27
|
+
};
|
|
28
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
+
exports.UpgradeBuilder = void 0;
|
|
30
|
+
const sections_1 = require("@partisiablockchain/sections");
|
|
31
|
+
const AbiParser_1 = require("../parser/AbiParser");
|
|
32
|
+
const DeploymentBuilder_1 = require("./DeploymentBuilder");
|
|
33
|
+
const FnRpcBuilder_1 = require("../rpc/FnRpcBuilder");
|
|
34
|
+
/** Builder for upgrading contracts through the {@link DeploymentClient}. */
|
|
35
|
+
class UpgradeBuilder {
|
|
36
|
+
/**
|
|
37
|
+
* Constructor for {@link UpgradeBuilder}.
|
|
38
|
+
*
|
|
39
|
+
* @param blockchainClient client for getting state and building and sending transactions
|
|
40
|
+
*/
|
|
41
|
+
constructor(blockchainClient) {
|
|
42
|
+
this.upgradeRpcBytes = Buffer.from([]);
|
|
43
|
+
this.gasCostField = UpgradeBuilder.DEFAULT_UPGRADE_COST;
|
|
44
|
+
this.blockchainClient = blockchainClient;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Set the abi and contract bytes to upgrade to through a pbc file.
|
|
48
|
+
*
|
|
49
|
+
* <p>It is required to provide the abi and the contract bytes, either through this method or
|
|
50
|
+
* through a combination of {@link #abi} and {@link #wasm}.
|
|
51
|
+
*
|
|
52
|
+
* @param pbcFile the bytes of the pbc file to upgrade to
|
|
53
|
+
* @returns this builder
|
|
54
|
+
*/
|
|
55
|
+
pbcFile(pbcFile) {
|
|
56
|
+
let pbc;
|
|
57
|
+
if (Buffer.isBuffer(pbcFile)) {
|
|
58
|
+
pbc = sections_1.PbcFile.fromBytes(pbcFile);
|
|
59
|
+
}
|
|
60
|
+
else {
|
|
61
|
+
pbc = pbcFile;
|
|
62
|
+
}
|
|
63
|
+
this.abiBytes = pbc.getAbiBytes();
|
|
64
|
+
if (pbc.isZk) {
|
|
65
|
+
throw new Error("Cannot upgrade a zk contract");
|
|
66
|
+
}
|
|
67
|
+
else {
|
|
68
|
+
this.contractBytes = pbc.getWasmBytes();
|
|
69
|
+
}
|
|
70
|
+
return this;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Set the abi of the contract to upgrade to.
|
|
74
|
+
*
|
|
75
|
+
* <p>It is required to provide the abi either through this method or through {@link #pbcFile}.
|
|
76
|
+
*
|
|
77
|
+
* @param abi abi bytes to upgrade to
|
|
78
|
+
* @returns this builder
|
|
79
|
+
*/
|
|
80
|
+
abi(abi) {
|
|
81
|
+
this.abiBytes = abi;
|
|
82
|
+
return this;
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Set the contract bytes of the contract to upgrade to.
|
|
86
|
+
*
|
|
87
|
+
* <p>It is required to provide the contract bytes either though this method, or {@link #pbcFile}.
|
|
88
|
+
*
|
|
89
|
+
* @param wasm contract bytes to upgrade to
|
|
90
|
+
* @returns this builder
|
|
91
|
+
*/
|
|
92
|
+
wasm(wasm) {
|
|
93
|
+
this.contractBytes = wasm;
|
|
94
|
+
return this;
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Set the address of the contract to be upgraded.
|
|
98
|
+
*
|
|
99
|
+
* <p>This is a required parameter
|
|
100
|
+
*
|
|
101
|
+
* @param contractAddress address of the contract to be upgraded
|
|
102
|
+
* @returns this builder
|
|
103
|
+
*/
|
|
104
|
+
contractAddress(contractAddress) {
|
|
105
|
+
this.contractAddressField = contractAddress;
|
|
106
|
+
return this;
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Set the rpc given to contract on its upgrade. If not set an empty upgrade rpc is used
|
|
110
|
+
*
|
|
111
|
+
* @param upgradeRpc the upgrade rpc
|
|
112
|
+
* @returns this builder
|
|
113
|
+
*/
|
|
114
|
+
upgradeRpc(upgradeRpc) {
|
|
115
|
+
this.upgradeRpcBytes = upgradeRpc;
|
|
116
|
+
return this;
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Set the gas cost used to upgrade the contract. If not set a default of 2_000_000 gas is used.
|
|
120
|
+
*
|
|
121
|
+
* @param gasCost gas cost used to upgrade the contract
|
|
122
|
+
* @returns this builder
|
|
123
|
+
*/
|
|
124
|
+
gasCost(gasCost) {
|
|
125
|
+
this.gasCostField = gasCost;
|
|
126
|
+
return this;
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Build the rpc for the upgrade transaction to the deploy-contract.
|
|
130
|
+
*
|
|
131
|
+
* @returns the rpc for the upgrade transaction
|
|
132
|
+
*/
|
|
133
|
+
buildRpc() {
|
|
134
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
135
|
+
this.validateRequiredParameters();
|
|
136
|
+
const deployContract = yield this.blockchainClient
|
|
137
|
+
.getContract(DeploymentBuilder_1.DeploymentBuilder.DEFAULT_PUB_ADDRESS)
|
|
138
|
+
.catch(() => {
|
|
139
|
+
throw new Error("Unable to get deploy contract state");
|
|
140
|
+
});
|
|
141
|
+
const deployAbiBytes = Buffer.from(deployContract.abi, "base64");
|
|
142
|
+
const deployState = Buffer.from(deployContract.serializedContract, "base64");
|
|
143
|
+
const deployAbi = new AbiParser_1.AbiParser(deployAbiBytes).parseAbi().contract;
|
|
144
|
+
const abiToBeDeployed = new AbiParser_1.AbiParser(this.abiBytes).parseAbi();
|
|
145
|
+
const binderId = this.determineBinderId(abiToBeDeployed, deployAbi, deployState);
|
|
146
|
+
return this.createUpgradeBytes(deployAbi, binderId);
|
|
147
|
+
});
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* Build the signed transaction of the upgrade call.
|
|
151
|
+
*
|
|
152
|
+
* @returns the signed transaction of the upgrade call.
|
|
153
|
+
*/
|
|
154
|
+
build() {
|
|
155
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
156
|
+
const rpc = yield this.buildRpc();
|
|
157
|
+
return this.blockchainClient.sign({ address: DeploymentBuilder_1.DeploymentBuilder.DEFAULT_PUB_ADDRESS, rpc }, this.gasCostField);
|
|
158
|
+
});
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* Build and send the upgrade signed transaction to the pub-deploy contract.
|
|
162
|
+
*
|
|
163
|
+
* @returns the executed transaction tree of the transaction.
|
|
164
|
+
*/
|
|
165
|
+
upgrade() {
|
|
166
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
167
|
+
const signedTransaction = yield this.build();
|
|
168
|
+
const sentTransaction = yield this.blockchainClient.send(signedTransaction).catch(() => {
|
|
169
|
+
throw new Error("Failed to send upgrade transaction");
|
|
170
|
+
});
|
|
171
|
+
const transactionTree = yield this.blockchainClient.waitForSpawnedEvents(sentTransaction);
|
|
172
|
+
if (transactionTree.hasFailures()) {
|
|
173
|
+
throw new Error(`Transaction '${signedTransaction.identifier()}' failed with cause: ${(0, DeploymentBuilder_1.findFailureCause)(transactionTree)}`);
|
|
174
|
+
}
|
|
175
|
+
return transactionTree;
|
|
176
|
+
});
|
|
177
|
+
}
|
|
178
|
+
validateRequiredParameters() {
|
|
179
|
+
if (this.contractBytes === undefined) {
|
|
180
|
+
throw new Error("Missing contract bytes");
|
|
181
|
+
}
|
|
182
|
+
if (this.abiBytes === undefined) {
|
|
183
|
+
throw new Error("Missing abi bytes");
|
|
184
|
+
}
|
|
185
|
+
if (this.contractAddressField === undefined) {
|
|
186
|
+
throw new Error("Missing contract address");
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
determineBinderId(abiToBeDeployed, deployAbi, deployState) {
|
|
190
|
+
const binderVersions = (0, DeploymentBuilder_1.getSupportedBinderVersions)(deployState, deployAbi);
|
|
191
|
+
const binderVersion = abiToBeDeployed.versionBinder;
|
|
192
|
+
return (0, DeploymentBuilder_1.findBinderId)(binderVersions, binderVersion);
|
|
193
|
+
}
|
|
194
|
+
createUpgradeBytes(deployAbi, binderId) {
|
|
195
|
+
const fnBuilder = new FnRpcBuilder_1.FnRpcBuilder("upgradeContract", deployAbi);
|
|
196
|
+
fnBuilder.addAddress(this.contractAddressField);
|
|
197
|
+
fnBuilder.addI32(binderId);
|
|
198
|
+
fnBuilder.addVecU8(this.contractBytes);
|
|
199
|
+
fnBuilder.addVecU8(this.abiBytes);
|
|
200
|
+
fnBuilder.addVecU8(this.upgradeRpcBytes);
|
|
201
|
+
return fnBuilder.getBytes();
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
exports.UpgradeBuilder = UpgradeBuilder;
|
|
205
|
+
UpgradeBuilder.DEFAULT_UPGRADE_COST = 2000000;
|
|
206
|
+
//# sourceMappingURL=UpgradeBuilder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UpgradeBuilder.js","sourceRoot":"","sources":["../../../src/main/deploymentclient/UpgradeBuilder.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;GAgBG;;;;;;;;;;;;AAGH,2DAAuD;AACvD,mDAAgD;AAOhD,2DAK6B;AAC7B,sDAAmD;AAEnD,4EAA4E;AAC5E,MAAa,cAAc;IASzB;;;;OAIG;IACH,YAAY,gBAA+C;QATnD,oBAAe,GAAW,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAE1C,iBAAY,GAAW,cAAc,CAAC,oBAAoB,CAAC;QAQjE,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;IAC3C,CAAC;IAED;;;;;;;;OAQG;IACI,OAAO,CAAC,OAAyB;QACtC,IAAI,GAAY,CAAC;QACjB,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YAC7B,GAAG,GAAG,kBAAO,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QACnC,CAAC;aAAM,CAAC;YACN,GAAG,GAAG,OAAO,CAAC;QAChB,CAAC;QAED,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;QAClC,IAAI,GAAG,CAAC,IAAe,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAClD,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC,YAAY,EAAE,CAAC;QAC1C,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;OAOG;IACI,GAAG,CAAC,GAAW;QACpB,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC;QACpB,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;OAOG;IACI,IAAI,CAAC,IAAY;QACtB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;OAOG;IACI,eAAe,CAAC,eAAuB;QAC5C,IAAI,CAAC,oBAAoB,GAAG,eAAe,CAAC;QAC5C,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;OAKG;IACI,UAAU,CAAC,UAAkB;QAClC,IAAI,CAAC,eAAe,GAAG,UAAU,CAAC;QAClC,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;OAKG;IACI,OAAO,CAAC,OAAe;QAC5B,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC;QAC5B,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;OAIG;IACU,QAAQ;;YACnB,IAAI,CAAC,0BAA0B,EAAE,CAAC;YAElC,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,gBAAgB;iBAC/C,WAAW,CAAC,qCAAiB,CAAC,mBAAmB,CAAC;iBAClD,KAAK,CAAC,GAAG,EAAE;gBACV,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;YACzD,CAAC,CAAC,CAAC;YACL,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;YACjE,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,kBAAmB,EAAE,QAAQ,CAAC,CAAC;YAC9E,MAAM,SAAS,GAAG,IAAI,qBAAS,CAAC,cAAc,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC;YAEpE,MAAM,eAAe,GAAG,IAAI,qBAAS,CAAC,IAAI,CAAC,QAAS,CAAC,CAAC,QAAQ,EAAE,CAAC;YACjE,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,eAAe,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;YAEjF,OAAO,IAAI,CAAC,kBAAkB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QACtD,CAAC;KAAA;IAED;;;;OAIG;IACU,KAAK;;YAChB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClC,OAAO,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAC/B,EAAE,OAAO,EAAE,qCAAiB,CAAC,mBAAoB,EAAE,GAAG,EAAE,EACxD,IAAI,CAAC,YAAY,CAClB,CAAC;QACJ,CAAC;KAAA;IAED;;;;OAIG;IACU,OAAO;;YAClB,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;YAC7C,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;gBACrF,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;YACxD,CAAC,CAAC,CAAC;YACH,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,eAAe,CAAC,CAAC;YAC1F,IAAI,eAAe,CAAC,WAAW,EAAE,EAAE,CAAC;gBAClC,MAAM,IAAI,KAAK,CACb,gBAAgB,iBAAiB,CAAC,UAAU,EAAE,wBAAwB,IAAA,oCAAgB,EAAC,eAAe,CAAC,EAAE,CAC1G,CAAC;YACJ,CAAC;YACD,OAAO,eAAe,CAAC;QACzB,CAAC;KAAA;IAEO,0BAA0B;QAChC,IAAI,IAAI,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;YACrC,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAC5C,CAAC;QACD,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;QACvC,CAAC;QACD,IAAI,IAAI,CAAC,oBAAoB,KAAK,SAAS,EAAE,CAAC;YAC5C,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC;IAEO,iBAAiB,CACvB,eAAwB,EACxB,SAAsB,EACtB,WAAmB;QAEnB,MAAM,cAAc,GAAG,IAAA,8CAA0B,EAAC,WAAW,EAAE,SAAS,CAAC,CAAC;QAE1E,MAAM,aAAa,GAAG,eAAe,CAAC,aAAa,CAAC;QACpD,OAAO,IAAA,gCAAY,EAAC,cAAc,EAAE,aAAa,CAAC,CAAC;IACrD,CAAC;IAEO,kBAAkB,CAAC,SAAsB,EAAE,QAAgB;QACjE,MAAM,SAAS,GAAG,IAAI,2BAAY,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAC;QACjE,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,oBAAqB,CAAC,CAAC;QACjD,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC3B,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAc,CAAC,CAAC;QACxC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAS,CAAC,CAAC;QACnC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAEzC,OAAO,SAAS,CAAC,QAAQ,EAAE,CAAC;IAC9B,CAAC;;AAhMH,wCAiMC;AAhMiB,mCAAoB,GAAG,OAAS,AAAZ,CAAa"}
|
|
@@ -10,7 +10,14 @@ export declare class RustSyntaxPrettyPrinter {
|
|
|
10
10
|
printModel(): string;
|
|
11
11
|
numberCompare(a: number, b: number): number;
|
|
12
12
|
private buildVersion;
|
|
13
|
+
private printFunctions;
|
|
14
|
+
printAllInvocations(): string;
|
|
15
|
+
printActions(): string;
|
|
16
|
+
printCallbacks(): string;
|
|
17
|
+
printBinderVersion(): string;
|
|
18
|
+
printClientVersion(): string;
|
|
13
19
|
printFunction(func: FnAbi): string;
|
|
20
|
+
printState(): string;
|
|
14
21
|
printStruct(struct: StructTypeSpec): string;
|
|
15
22
|
private readonly FN_KINDS_WITH_EXPLICIT_SHORTNAME;
|
|
16
23
|
private buildFunction;
|
|
@@ -59,10 +59,8 @@ class RustSyntaxPrettyPrinter {
|
|
|
59
59
|
headerBuilder.appendLine("\n\n");
|
|
60
60
|
}
|
|
61
61
|
// Build version information
|
|
62
|
-
builder.push(
|
|
63
|
-
|
|
64
|
-
builder.push("// Version Client: ");
|
|
65
|
-
this.buildVersion(builder, this.model.versionClient);
|
|
62
|
+
builder.push(this.printBinderVersion());
|
|
63
|
+
builder.push(this.printClientVersion());
|
|
66
64
|
builder.push("\n");
|
|
67
65
|
// Build list of struct definition
|
|
68
66
|
const contract = this.model.contract;
|
|
@@ -75,7 +73,20 @@ class RustSyntaxPrettyPrinter {
|
|
|
75
73
|
this.buildNamedDefinition(builder, namedTypeSpec);
|
|
76
74
|
}
|
|
77
75
|
this.buildStateDefinition(builder);
|
|
78
|
-
|
|
76
|
+
// Build all functions
|
|
77
|
+
builder.push(this.printAllInvocations());
|
|
78
|
+
return builder.join("");
|
|
79
|
+
}
|
|
80
|
+
numberCompare(a, b) {
|
|
81
|
+
return a - b;
|
|
82
|
+
}
|
|
83
|
+
buildVersion(builder, version) {
|
|
84
|
+
builder.push(`${version.major}.${version.minor}.${version.patch}\n`);
|
|
85
|
+
}
|
|
86
|
+
printFunctions(builder, functionKinds) {
|
|
87
|
+
const contract = this.model.contract;
|
|
88
|
+
const functions = contract.functions.filter((f) => functionKinds(f));
|
|
89
|
+
const sortedFunctions = [...functions].sort((a, b) => {
|
|
79
90
|
if (a.kind.kindId != b.kind.kindId) {
|
|
80
91
|
return this.numberCompare(a.kind.kindId, b.kind.kindId);
|
|
81
92
|
}
|
|
@@ -83,22 +94,48 @@ class RustSyntaxPrettyPrinter {
|
|
|
83
94
|
return a.shortname.compare(b.shortname);
|
|
84
95
|
}
|
|
85
96
|
});
|
|
86
|
-
for (const
|
|
87
|
-
this.buildFunction(builder,
|
|
97
|
+
for (const fun of sortedFunctions) {
|
|
98
|
+
this.buildFunction(builder, fun);
|
|
99
|
+
builder.push("\n");
|
|
88
100
|
}
|
|
101
|
+
}
|
|
102
|
+
printAllInvocations() {
|
|
103
|
+
const builder = [];
|
|
104
|
+
this.printFunctions(builder, (_) => true);
|
|
89
105
|
return builder.join("");
|
|
90
106
|
}
|
|
91
|
-
|
|
92
|
-
|
|
107
|
+
printActions() {
|
|
108
|
+
const builder = [];
|
|
109
|
+
this.printFunctions(builder, (f) => f.kind === FnKinds_1.FnKinds.action || f.kind === FnKinds_1.FnKinds.init);
|
|
110
|
+
return builder.join("");
|
|
93
111
|
}
|
|
94
|
-
|
|
95
|
-
builder
|
|
112
|
+
printCallbacks() {
|
|
113
|
+
const builder = [];
|
|
114
|
+
this.printFunctions(builder, (f) => f.kind === FnKinds_1.FnKinds.callback);
|
|
115
|
+
return builder.join("");
|
|
116
|
+
}
|
|
117
|
+
printBinderVersion() {
|
|
118
|
+
const builder = [];
|
|
119
|
+
builder.push("// Binder Version: ");
|
|
120
|
+
this.buildVersion(builder, this.model.versionBinder);
|
|
121
|
+
return builder.join("");
|
|
122
|
+
}
|
|
123
|
+
printClientVersion() {
|
|
124
|
+
const builder = [];
|
|
125
|
+
builder.push("// Client Version: ");
|
|
126
|
+
this.buildVersion(builder, this.model.versionClient);
|
|
127
|
+
return builder.join("");
|
|
96
128
|
}
|
|
97
129
|
printFunction(func) {
|
|
98
130
|
const builder = [];
|
|
99
131
|
this.buildFunction(builder, func);
|
|
100
132
|
return builder.join("");
|
|
101
133
|
}
|
|
134
|
+
printState() {
|
|
135
|
+
const builder = [];
|
|
136
|
+
this.buildStateDefinition(builder);
|
|
137
|
+
return builder.join("");
|
|
138
|
+
}
|
|
102
139
|
printStruct(struct) {
|
|
103
140
|
const builder = [];
|
|
104
141
|
const stateStruct = this.model.contract.getStateStruct();
|
|
@@ -185,7 +222,7 @@ class RustSyntaxPrettyPrinter {
|
|
|
185
222
|
for (const variant of enumTypeSpec.variants) {
|
|
186
223
|
this.buildEnumVariant(builder, variant);
|
|
187
224
|
}
|
|
188
|
-
builder.push("}\n");
|
|
225
|
+
builder.push("}\n\n");
|
|
189
226
|
}
|
|
190
227
|
buildEnumVariant(builder, variant) {
|
|
191
228
|
const namedTypeSpec = this.model.contract.getNamedType(variant.def);
|
|
@@ -212,7 +249,7 @@ class RustSyntaxPrettyPrinter {
|
|
|
212
249
|
for (const field of state.fields) {
|
|
213
250
|
this.buildFields(builder, field);
|
|
214
251
|
}
|
|
215
|
-
builder.push("}\n");
|
|
252
|
+
builder.push("}\n\n");
|
|
216
253
|
}
|
|
217
254
|
buildStructDefinition(builder, struct) {
|
|
218
255
|
this.buildDocumentationForStruct(builder, struct, struct.doc);
|
|
@@ -220,7 +257,7 @@ class RustSyntaxPrettyPrinter {
|
|
|
220
257
|
for (const field of struct.fields) {
|
|
221
258
|
this.buildFields(builder, field);
|
|
222
259
|
}
|
|
223
|
-
builder.push("}\n");
|
|
260
|
+
builder.push("}\n\n");
|
|
224
261
|
}
|
|
225
262
|
buildFields(builder, field) {
|
|
226
263
|
builder.push(` ${field.name}: `);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RustSyntaxPrettyPrinter.js","sourceRoot":"","sources":["../../../src/main/parser/RustSyntaxPrettyPrinter.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"RustSyntaxPrettyPrinter.js","sourceRoot":"","sources":["../../../src/main/parser/RustSyntaxPrettyPrinter.ts"],"names":[],"mappings":"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"}
|