@caict/bop-typescript-sdk 1.0.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/CHANGELOG.md +34 -0
- package/LICENSE +202 -0
- package/NOTICE +5 -0
- package/README.md +112 -0
- package/package.json +90 -0
- package/src/bop/bop-base/README.md +5 -0
- package/src/bop/bop-base/base.ts +366 -0
- package/src/bop/bop-base/index.ts +83 -0
- package/src/bop/bop-base/permit.ts +116 -0
- package/src/bop/bop-base/test/base.test.ts +867 -0
- package/src/bop/bop-base/test/index.test.ts +69 -0
- package/src/bop/bop-base/test/permit.test.ts +125 -0
- package/src/bop/bop-base/tsconfig.json +8 -0
- package/src/bop/bop-proto/README.md +2 -0
- package/src/bop/bop-proto/bop-ws.proto +266 -0
- package/src/bop/bop-proto/bop-ws.ts +4447 -0
- package/src/bop/bop-proto/bop.proto +898 -0
- package/src/bop/bop-proto/bop.ts +12890 -0
- package/src/bop/bop-proto/tsconfig.json +8 -0
- package/src/bop/bop-ws/index.ts +315 -0
- package/src/bop/bop-ws/sample/sample.ts +107 -0
- package/src/bop/bop-ws/tsconfig.json +8 -0
- package/src/bop/index.ts +14 -0
- package/src/bop-sdk/index.ts +22 -0
- package/src/bop-sdk/interface/abstract-service/abstract-account.ts +23 -0
- package/src/bop-sdk/interface/abstract-service/abstract-chain.ts +9 -0
- package/src/bop-sdk/interface/abstract-service/abstract-contract.ts +16 -0
- package/src/bop-sdk/interface/abstract-service/abstract-ledger.ts +15 -0
- package/src/bop-sdk/interface/abstract-service/abstract-provider.ts +13 -0
- package/src/bop-sdk/interface/abstract-service/abstract-signer.ts +133 -0
- package/src/bop-sdk/interface/abstract-service/abstract-transaction.ts +86 -0
- package/src/bop-sdk/interface/provider-ws.ts +10 -0
- package/src/bop-sdk/interface/provider.ts +22 -0
- package/src/bop-sdk/interface/service/3rd.ts +54 -0
- package/src/bop-sdk/interface/service/account.ts +86 -0
- package/src/bop-sdk/interface/service/chain.ts +27 -0
- package/src/bop-sdk/interface/service/contract.ts +51 -0
- package/src/bop-sdk/interface/service/helper.ts +426 -0
- package/src/bop-sdk/interface/service/ledger.ts +75 -0
- package/src/bop-sdk/interface/service/offline/check/index.js +138 -0
- package/src/bop-sdk/interface/service/offline/common/constant.js +6 -0
- package/src/bop-sdk/interface/service/offline/common/snowFlakeUtils.js +192 -0
- package/src/bop-sdk/interface/service/offline/common/util.js +511 -0
- package/src/bop-sdk/interface/service/offline/exception/customErrors.js +29 -0
- package/src/bop-sdk/interface/service/offline/exception/errors.js +90 -0
- package/src/bop-sdk/interface/service/offline/exception/index.js +5 -0
- package/src/bop-sdk/interface/service/offline/operation/accountCreateOperation.js +28 -0
- package/src/bop-sdk/interface/service/offline/operation/accountSetMetadataOperation.js +44 -0
- package/src/bop-sdk/interface/service/offline/operation/accountSetPrivilegeOperation.js +49 -0
- package/src/bop-sdk/interface/service/offline/operation/contractCreateOperation.js +43 -0
- package/src/bop-sdk/interface/service/offline/operation/contractInvokeOperation.js +42 -0
- package/src/bop-sdk/interface/service/offline/operation/contractInvokeRequestOperation.js +69 -0
- package/src/bop-sdk/interface/service/offline/operation/gasSendOperation.js +29 -0
- package/src/bop-sdk/interface/service/offline/operation/gasSendRequestOperation.js +61 -0
- package/src/bop-sdk/interface/service/offline/operation/index.js +20 -0
- package/src/bop-sdk/interface/service/offline/proto/chain_pb.js +12079 -0
- package/src/bop-sdk/interface/service/offline/proto/common_pb.js +2867 -0
- package/src/bop-sdk/interface/service/offline/transaction/index.js +988 -0
- package/src/bop-sdk/interface/service/offline/transaction/operations.js +188 -0
- package/src/bop-sdk/interface/service/offline/validate/account.js +152 -0
- package/src/bop-sdk/interface/service/offline/validate/contract.js +101 -0
- package/src/bop-sdk/interface/service/offline/validate/index.js +10 -0
- package/src/bop-sdk/interface/service/offline/validate/transaction.js +51 -0
- package/src/bop-sdk/interface/service/transaction.ts +731 -0
- package/src/bop-sdk/interface/signer.ts +46 -0
- package/src/bop-sdk/interface/test/3rd.test.ts +1571 -0
- package/src/bop-sdk/interface/test/account.test.ts +284 -0
- package/src/bop-sdk/interface/test/chain.test.ts +45 -0
- package/src/bop-sdk/interface/test/contract.test.ts +283 -0
- package/src/bop-sdk/interface/test/ledger.test.ts +166 -0
- package/src/bop-sdk/interface/test/provider.test.ts +407 -0
- package/src/bop-sdk/interface/test/signer.test.ts +105 -0
- package/src/bop-sdk/interface/test/transaction.test.ts +713 -0
- package/src/bop-sdk/proto/bop-sdk-common.proto +159 -0
- package/src/bop-sdk/proto/bop-sdk-common.ts +829 -0
- package/src/bop-sdk/proto/bop-sdk-interface.proto +581 -0
- package/src/bop-sdk/proto/bop-sdk-interface.ts +10839 -0
- package/src/bop-sdk/proto/bop-sdk-utils.proto +86 -0
- package/src/bop-sdk/proto/bop-sdk-utils.ts +1495 -0
- package/src/bop-sdk/utils/abi/abi-coder.ts +147 -0
- package/src/bop-sdk/utils/abi/address.ts +109 -0
- package/src/bop-sdk/utils/abi/bignumber.ts +403 -0
- package/src/bop-sdk/utils/abi/bytes.ts +565 -0
- package/src/bop-sdk/utils/abi/coders/abstract-coder.ts +239 -0
- package/src/bop-sdk/utils/abi/coders/address.ts +58 -0
- package/src/bop-sdk/utils/abi/coders/anonymous.ts +25 -0
- package/src/bop-sdk/utils/abi/coders/array.ts +275 -0
- package/src/bop-sdk/utils/abi/coders/boolean.ts +21 -0
- package/src/bop-sdk/utils/abi/coders/bytes.ts +36 -0
- package/src/bop-sdk/utils/abi/coders/fixed-bytes.ts +35 -0
- package/src/bop-sdk/utils/abi/coders/null.ts +25 -0
- package/src/bop-sdk/utils/abi/coders/number.ts +56 -0
- package/src/bop-sdk/utils/abi/coders/string.ts +24 -0
- package/src/bop-sdk/utils/abi/coders/tuple.ts +73 -0
- package/src/bop-sdk/utils/abi/constants/addresses.ts +1 -0
- package/src/bop-sdk/utils/abi/constants/bignumbers.ts +30 -0
- package/src/bop-sdk/utils/abi/constants/hashes.ts +2 -0
- package/src/bop-sdk/utils/abi/constants/index.ts +15 -0
- package/src/bop-sdk/utils/abi/constants/strings.ts +2 -0
- package/src/bop-sdk/utils/abi/fragments.ts +1243 -0
- package/src/bop-sdk/utils/abi/id.ts +6 -0
- package/src/bop-sdk/utils/abi/index.ts +46 -0
- package/src/bop-sdk/utils/abi/interface.ts +921 -0
- package/src/bop-sdk/utils/abi/keccak256.ts +9 -0
- package/src/bop-sdk/utils/abi/properties.ts +172 -0
- package/src/bop-sdk/utils/abi/strings/bytes32.ts +40 -0
- package/src/bop-sdk/utils/abi/strings/idna.ts +258 -0
- package/src/bop-sdk/utils/abi/strings/index.ts +28 -0
- package/src/bop-sdk/utils/abi/strings/utf8.ts +373 -0
- package/src/bop-sdk/utils/encryption-address.ts +501 -0
- package/src/bop-sdk/utils/encryption-crypto.ts +427 -0
- package/src/bop-sdk/utils/encryption-mnemonics.ts +120 -0
- package/src/bop-sdk/utils/index.ts +27 -0
- package/src/bop-sdk/utils/logger.ts +480 -0
- package/src/index.ts +35 -0
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
syntax = "proto3";
|
|
2
|
+
package bopsdk;
|
|
3
|
+
|
|
4
|
+
enum SdkStatusCode {
|
|
5
|
+
SUCCESS = 0;
|
|
6
|
+
|
|
7
|
+
INVALID_URL = 9999;
|
|
8
|
+
|
|
9
|
+
//utils相关错误码
|
|
10
|
+
INVALIDPRIVATEKEY = 10000;
|
|
11
|
+
INVALIDPUBLICKEY = 10001;
|
|
12
|
+
INVALIDADDRESS = 10002;
|
|
13
|
+
INVALIDPASSWD = 10003;
|
|
14
|
+
INVALIDKEYSTORE = 10004;
|
|
15
|
+
ERRORPASSWD = 10005;
|
|
16
|
+
INVALIDMESSAGE = 10006;
|
|
17
|
+
INVALIDSIGNATURE = 10007;
|
|
18
|
+
INVALIDENTROPY = 10008;
|
|
19
|
+
INVALIDMNEMONICS = 10009;
|
|
20
|
+
UNSUPPORTKEYTYPE = 10010;
|
|
21
|
+
INVALIDCHAINCODE = 10011;
|
|
22
|
+
INVALIDSERVICETYPE = 10012;
|
|
23
|
+
INVALIDINDEXVALUE = 10013;
|
|
24
|
+
|
|
25
|
+
//Signer相关错误码
|
|
26
|
+
UNCONNECTED_PROVIDER = 20000; //未连接provider
|
|
27
|
+
NO_PROVIDER_SET = 20001;
|
|
28
|
+
|
|
29
|
+
//构建离线交易异常
|
|
30
|
+
// 源地址无效错误
|
|
31
|
+
INVALID_SOURCEADDRESS_ERROR = 11002;
|
|
32
|
+
// 目标地址无效错误
|
|
33
|
+
INVALID_DESTADDRESS_ERROR = 11003;
|
|
34
|
+
// 初始余额无效错误
|
|
35
|
+
INVALID_INITBALANCE_ERROR = 11004;
|
|
36
|
+
// 地址无效错误
|
|
37
|
+
INVALID_ADDRESS_ERROR = 11006;
|
|
38
|
+
// 元数据不是十六进制字符串错误
|
|
39
|
+
METADATA_NOT_HEX_STRING_ERROR = 11008;
|
|
40
|
+
// 数据键无效错误
|
|
41
|
+
INVALID_DATAKEY_ERROR = 11011;
|
|
42
|
+
// 数据值无效错误
|
|
43
|
+
INVALID_DATAVALUE_ERROR = 11012;
|
|
44
|
+
// 数据版本无效错误
|
|
45
|
+
INVALID_DATAVERSION_ERROR = 11013;
|
|
46
|
+
// 主权重无效错误
|
|
47
|
+
INVALID_MASTERWEIGHT_ERROR = 11015;
|
|
48
|
+
// 签名者地址无效错误
|
|
49
|
+
INVALID_SIGNER_ADDRESS_ERROR = 11016;
|
|
50
|
+
// 签名者权重无效错误
|
|
51
|
+
INVALID_SIGNER_WEIGHT_ERROR = 11017;
|
|
52
|
+
// 交易阈值无效错误
|
|
53
|
+
INVALID_TX_THRESHOLD_ERROR = 11018;
|
|
54
|
+
// 操作类型无效错误
|
|
55
|
+
INVALID_OPERATION_TYPE_ERROR = 11019;
|
|
56
|
+
// 类型阈值无效错误
|
|
57
|
+
INVALID_TYPE_THRESHOLD_ERROR = 11020;
|
|
58
|
+
// 金额无效错误
|
|
59
|
+
INVALID_AMOUNT_ERROR = 11024;
|
|
60
|
+
// 合同地址无效错误
|
|
61
|
+
INVALID_CONTRACTADDRESS_ERROR = 11037;
|
|
62
|
+
// 合同地址不是合同账户错误
|
|
63
|
+
CONTRACTADDRESS_NOT_CONTRACTACCOUNT_ERROR = 11038;
|
|
64
|
+
// 起始地址无效错误
|
|
65
|
+
INVALID_FROMADDRESS_ERROR = 11041;
|
|
66
|
+
// 有效载荷为空错误
|
|
67
|
+
PAYLOAD_EMPTY_ERROR = 11044;
|
|
68
|
+
// 合同类型无效错误
|
|
69
|
+
INVALID_CONTRACT_TYPE_ERROR = 11047;
|
|
70
|
+
// nonce无效错误
|
|
71
|
+
INVALID_NONCE_ERROR = 11048;
|
|
72
|
+
// 气体价格无效错误
|
|
73
|
+
INVALID_GASPRICE_ERROR = 11049;
|
|
74
|
+
// 费用限制无效错误
|
|
75
|
+
INVALID_FEELIMIT_ERROR = 11050;
|
|
76
|
+
// 操作不能为空错误
|
|
77
|
+
OPERATIONS_EMPTY_ERROR = 11051;
|
|
78
|
+
// 最高账本序列号无效错误
|
|
79
|
+
INVALID_CEILLEDGERSEQ_ERROR = 11052;
|
|
80
|
+
// 随机数类型无效错误
|
|
81
|
+
INVALID_NONCE_TYPE_ERROR = 12008;
|
|
82
|
+
|
|
83
|
+
|
|
84
|
+
//链相关错误描述
|
|
85
|
+
INTERNAL_SERVER_ERROR = 1; //数据源异常
|
|
86
|
+
INVALID_PARAMETER = 2; //参数异常 -> 2
|
|
87
|
+
OBJECT_ALREADY_EXISTS = 3; //对象已存在 -> 3
|
|
88
|
+
OBJECT_NOT_FOUND = 4; //对象不存在
|
|
89
|
+
TX_TIMEOUT = 5; //交易超时
|
|
90
|
+
ACCOUNT_ACCESS_DENIED = 6; //账户禁止使用
|
|
91
|
+
MATH_OVERFLOW = 7; //数学计算溢出
|
|
92
|
+
ILLEGAL_PUBLIC_KEY = 90; //公钥非法
|
|
93
|
+
ILLEGAL_PRIVATE_KEY = 91; //私钥非法
|
|
94
|
+
INSUFFICIENT_SIGNATURE_WEIGHT = 93; // 签名权重不够,达不到操作的门限值
|
|
95
|
+
ILLEGAL_ADDRESS = 94; //地址非法
|
|
96
|
+
MISSING_TRANSACTION_OPERATION = 97; // 交易缺失操作
|
|
97
|
+
TOO_MANY_OPERATIONS = 98; // 单笔交易内超过了100个操作
|
|
98
|
+
INVALID_NONCE = 99; // 交易序号错误,nonce错误
|
|
99
|
+
ACCOUNT_LOW_RESERVE = 100; // 余额不足
|
|
100
|
+
SOURCE_AND_DESTINATION_EQUAL = 101; //源和目的账号相等
|
|
101
|
+
ACCOUNT_ALREADY_EXISTS = 102; //创建账号操作,目标账号已存在
|
|
102
|
+
ACCOUNT_NOT_FOUND = 103; // 账户不存在
|
|
103
|
+
INSUFFICIENT_INITIAL_ASSETS = 106; // 创建账号初始化资产小于配置文件中最小费用
|
|
104
|
+
INSUFFICIENT_FEE = 111; // 费用不足
|
|
105
|
+
WEIGHT_OUT_OF_RANGE = 120; // 权重值不在有效范围
|
|
106
|
+
THRESHOLD_OUT_OF_RANGE = 121; // 门限值不在有效范围
|
|
107
|
+
MISMATCHING_METADATA_VERSION = 144; // metadata的version版本号不与已有的匹配
|
|
108
|
+
TRANSACTION_DATA_TOO_LARGE = 146; // 交易数据超出上限
|
|
109
|
+
CONTRACT_EXECUTION_FAILED = 151; //合约执行失败
|
|
110
|
+
CONTRACT_PARSE_FAILED = 152; // 合约语法分析失败
|
|
111
|
+
CONTRACT_RECURSION_DEPTH_EXCEEDED = 153; // 合约递归深度超出上限
|
|
112
|
+
CONTRACT_GENERATED_TOO_MANY_TRANSACTIONS = 154; // 合约产生的交易超出上限
|
|
113
|
+
CONTRACT_EXECUTION_TIMEOUT = 155; // 合约执行超时
|
|
114
|
+
NON_CONTRACT_ADDRESS = 156; // 目标地址非合约账户
|
|
115
|
+
FAILED_TO_INSERT_INTO_TX_QUEUE = 160;// 插入交易缓存队列失败
|
|
116
|
+
FORBIDDEN_SPARK_TOKEN_TRANSFER = 161; // 禁止转移星火令
|
|
117
|
+
DUPLICATE_NONCE_IN_CACHE = 183;// 交易nonce重复,nonce在缓存中 (需重新发送交易)
|
|
118
|
+
INVALID_MAX_BLOCK_NUMBER = 184; // 交易最大区块数错误,小于当前区块高度 (需要重新获取区块高度序列化接口)
|
|
119
|
+
|
|
120
|
+
//开发平台相关错误码
|
|
121
|
+
PARAMETER_TYPE_PARSING_EXCEPTION = -3; // 参数类型解析异常
|
|
122
|
+
INVALID_PARAMETER_EXCEPTION = -6; // 无效参数异常
|
|
123
|
+
REQUEST_TYPE_EXCEPTION = -7; // 请求类型异常
|
|
124
|
+
UNIFIED_VALIDATION_EXCEPTION = -9; // 统一验证参数异常
|
|
125
|
+
METHOD_NOT_ALLOWED = 405; // 不支持当前请求类型
|
|
126
|
+
API_NOT_FOUND = 1013; // 请求的API不存在
|
|
127
|
+
API_DEPRECATED = 1015; // 请求的API已停用
|
|
128
|
+
TIMEOUT = 1016; // timeout
|
|
129
|
+
SENSITIVE_WORDS_IN_TRANSACTION = 1101; // 交易数据中包含敏感词汇
|
|
130
|
+
CONTRACT_ADDRESS_NOT_IN_WHITELIST = 1102; // 您的合约地址未在项目合约白名单
|
|
131
|
+
ILLEGAL_TRANSACTION_DATA = 1103; // 请检查交易数据是否合规
|
|
132
|
+
TRANSACTION_TYPE_NOT_FOUND = 1105; // 交易类型不存在
|
|
133
|
+
REMOTE_CALL_FAILED = 1106; // 远程调用失败
|
|
134
|
+
TRANSACTION_POOL_TYPE_NOT_FOUND = 1107; // 交易池类型不存在
|
|
135
|
+
PARAMETER_OUT_OF_RANGE = 1108; // 参数超出限制
|
|
136
|
+
ILLEGAL_PARAMETER = 1109; // 非法参数
|
|
137
|
+
TX_TYPE_REQUIRED = 1110; // 当bid 或 tx_id为不为空时,tx_type为必填
|
|
138
|
+
BUSINESS_PARAMETER_CANNOT_BE_EMPTY = 1111; // 业务参数不能为空
|
|
139
|
+
API_KEY_NOT_FOUND = 1122; // API Key不存在
|
|
140
|
+
REQUEST_RATE_EXCEEDED_PER_SECOND = 1200; // 每秒请求频次超出限制
|
|
141
|
+
REQUEST_RATE_EXCEEDED_PER_DAY = 1201; // 每日请求频次超出限制
|
|
142
|
+
NO_RESOURCES_AVAILABLE = 1202; // 您已无资源可用
|
|
143
|
+
PROJECT_DELETED = 1203; // 项目已被删除
|
|
144
|
+
PROJECT_DISABLED = 1204; // 项目已禁用
|
|
145
|
+
PROJECT_BLACKLISTED = 1205; // 项目被拉入黑名单
|
|
146
|
+
ACCOUNT_BLACKLISTED = 1206; // 账户被拉入黑名单
|
|
147
|
+
API_SECRET_REQUIRED_IN_HEADER = 1207; // 请在Header中传入API Secret
|
|
148
|
+
MISMATCHING_API_SECRET = 1208; // 传入的API Secret与项目不匹配
|
|
149
|
+
ENHANCED_TRANSACTION_SERVICE_NOT_ENABLED = 1209; // 增强交易服务未开启
|
|
150
|
+
MISMATCHING_PROJECT_AND_API_TYPE = 1210; // 项目类型与API类型不一致
|
|
151
|
+
PROJECT_WITHOUT_MAINNET_PERMISSION = 1211; // 当前项目还没有主网权限
|
|
152
|
+
IN_PLATFORM_QUEUE = 1311; // 平台队列中
|
|
153
|
+
TRANSACTION_SUBMITTED_TO_SPARKCHAIN = 1312; // 交易已提交到星火链
|
|
154
|
+
TRANSACTION_POOL_TIMEOUT_DISCARD = 1313; // 平台交易池超时丢弃
|
|
155
|
+
NO_TRANSACTION_POOL_FOR_PROJECT = 1314; // 项目暂无交易池(增强交易)
|
|
156
|
+
TRANSACTION_ALREADY_EXISTS = 1315; // 交易已存在
|
|
157
|
+
SPARKCHAIN_TIMEOUT_DISCARD = 1316; // 星火链超时丢弃
|
|
158
|
+
TOO_MANY_TRANSACTION_OPERATIONS = 1317; // 交易操作频繁
|
|
159
|
+
}
|