1. 使用说明
1.1. 介绍
读者对象:本章节主要描述使用C++进行布比合约编写的方法,主要面向于使用C++进行布比的合约开发的开发者。
1.2. 示例
下面是一个简单的示例:
#include <wasmio/wasmio.hpp>
#include <wasmio/system.hpp>
using namespace wasmio;
class [[wasmio::contract]] store : public contract {
public:
using contract::contract;
[[wasmio::action]]
void save(const std::string &test_key, const std::string &test_value) {
chain::store(test_key, test_value);
}
};
1.3. 编译
编译准备
-
docker环境;
-
编译工具docker镜像文件
bubichain-wasm-cdt_run1.0.tar.gz
; -
导入镜像文件到docker中:
docker load < bubichain-wasm-cdt_run1.0.tar.gz
编译
-
把上述示例合约保存为
store.cpp
文件(调用的类名与文件名需要保持一致,保存其他文件名需要同步修改类名); -
启动一次性容器编译当前目录下的合约源码:
docker run --rm -v $(pwd):/project bubichain-wasm-cdt:run1.0 bash -c "wasmio-cpp store.cpp"
-
编译失败会输出失败信息,编译成功则会生成
store.wasm
文件与store.abi
文件;
1.4. 部署
环境准备
- curl命令行工具或其他能发送http请求的工具,用于http请求;
- 一个节点的http接口访问权限,节点需要开启C++智能合约功能,这里以127.0.0.1:19333为例,实际部署操作时请替换为实际IP端口;
- 一个已经激活的区块链账号私钥,这里以privbwQsGDqGRYuvkFAEQdS8KWxVTA3ynzMxpwLHTtFsy1eySSPTRCmt为例。
准备工作
查询账号交易序号,使用查询命令:
curl http://127.0.0.1:19333/getAccount?address=adxSdqkc8ooYmthwbiCsNogfyRLH51vh4V75P
结果应该返回error_code为0,然后我们在result字段下查询nonce字段信息,如果在返回结果中没有nonce字段,则代表账号从未发送过交易,表示nonce为0;返回结果示例如下:
{
"error_code" : 0,
"result" : {
"address" : "adxSdqkc8ooYmthwbiCsNogfyRLH51vh4V75P",
"assets" : null,
"assets_hash" : "ad67d57ae19de8068dbcd47282146bd553fe9f684c57c8c114453863ee41abc3",
"balance" : 983339835000,
"metadatas" : null,
"metadatas_hash" : "ad67d57ae19de8068dbcd47282146bd553fe9f684c57c8c114453863ee41abc3",
"nonce" : 17,
"priv" : {
"master_weight" : 1,
"thresholds" : {
"tx_threshold" : 1
}
}
}
}
部署流程
-
准备交易内容模板,将下面的交易内容保存到
tx-deploy-cpp.json
文件,注意:需要把nonce参数+1,表示账号的下一笔交易;{
"items": [
{
"transaction_json": {
"source_address": "adxSdqkc8ooYmthwbiCsNogfyRLH51vh4V75P",
"nonce": 18,
"fee_limit":1500000000,
"gas_price":1000,
"operations": [{
"type": 1,
"create_account":{
"contract":{
"owner": "adxSdqkc8ooYmthwbiCsNogfyRLH51vh4V75P",
"type": 2,
"payload": "{payload}"
},
"init_balance": 10000000,
"init_input" : "",
"priv":{
"master_weight": 0,
"thresholds": {
"tx_threshold": 1
}
}
}
}]
},
"private_keys": ["privbwQsGDqGRYuvkFAEQdS8KWxVTA3ynzMxpwLHTtFsy1eySSPTRCmt"]
}
]
} -
整理交易提交内容,把编译好的
store.wasm
合约文件与上述tx-deploy-cpp.json
文件放在同一目录下,使用下面bash命令生成交易提交内容tx-deploy-cpp-send.json
:base64 store.wasm | tr -d '\n' | sed "$(awk '{print "s|{payload}|" $0 "|g"}')" tx-deploy-cpp.json > tx-deploy-cpp-send.json
上述命令先将
store.wasm
文件进行base64转码,并替换模板文件中的{payload}
内容,然后另存为tx-deploy-cpp-send.json
文件,tx-deploy-cpp-send.json
内容示例如下:{
"items": [
{
"transaction_json": {
"source_address": "adxSdqkc8ooYmthwbiCsNogfyRLH51vh4V75P",
"nonce": 18,
"fee_limit":1500000000,
"gas_price":1000,
"operations": [{
"type": 1,
"create_account":{
"contract":{
"owner": "adxSdqkc8ooYmthwbiCsNogfyRLH51vh4V75P",
"type": 3,
"payload": "AGFzbQEAAAAB3gEjYAAAYAN/f38Bf2ADf35/AX5gBH9/f38AYAABf2ACf38AYAJ/fwF/YAR/f39/AX9gAn99AGAFf35+fn4AYAJ/fABgBH5+fn4Bf2ACfn4BfGACfn4BfWACf38BfmAAAX5gAn9+AGADfn5+AGABfwF/YAF/AGAEf39/fgF+YAN/f38BfmACfH8BfGACfn4Bf2ABfAF8YAR/fn5/AGACf38BfWACf38BfGADf39/AGACfn8Bf2AFf39/f38Bf2ALf39/f39/f39/f38Bf2AHf39/f39/fwBgAX4AYAJ+fgACsgQdA2VudhBhY3Rpb25fZGF0YV9zaXplAAQDZW52DXdhc21pb19hc3NlcnQABQNlbnYGbWVtc2V0AAEDZW52B21lbW1vdmUAAQNlbnYQcmVhZF9hY3Rpb25fZGF0YQAGA2VudgtjaGFpbl9zdG9yZQAHA2VudgVhYm9ydAAAA2VudgZtZW1jcHkAAQNlbnYNX19leHRlbmRzZnRmMgAIA2VudghfX211bHRmMwAJA2VudgtfX2Zsb2F0c2l0ZgAFA2VudghfX2FkZHRmMwAJA2Vudg1fX2V4dGVuZGRmdGYyAAoDZW52B19fZ2V0ZjIACwNlbnYNX19mbG9hdHVuc2l0ZgAFA2VudghfX2RpdnRmMwAJA2VudgdfX2VxdGYyAAsDZW52B19fbGV0ZjIACwNlbnYHX19uZXRmMgALA2VudghfX3N1YnRmMwAJA2VudgxfX3RydW5jdGZkZjIADANlbnYMX190cnVuY3Rmc2YyAA0DZW52CHByaW50c19sAAUDZW52IHNldF9ibG9ja2NoYWluX3BhcmFtZXRlcnNfcGFja2VkAAUDZW52IGdldF9ibG9ja2NoYWluX3BhcmFtZXRlcnNfcGFja2VkAAYDZW52FnNldF9wcm9wb3NlZF9wcm9kdWNlcnMADgNlbnYMY3VycmVudF90aW1lAA8DZW52FGdldF9hY3RpdmVfcHJvZHVjZXJzAAYDZW52Endhc21pb19hc3NlcnRfY29kZQAQA2ZlABESBhMABAYBEhMSAQEBAQESAQETEwQSEwASEhASFBUVAQEGEhUBFQEBFgkXCRgZAw4aGxwaARscBgYdAx4DHwMHAQYSBgEGAQYGEgYBBgYSAQEeHAcBBxMGIAUFEhMhEyIG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IAAgBEEBajYCBCAELQAAIQQMAQsgABA6IQQLIAggCXwhByABIARB8cAAai0AACIFTQ0CIAcgC1gNAAwCCwsgAUEXbEEFdkEHcUGpwABqLAAAIQxCACEHAkAgASAEQfHAAGotAAAiBU0NAEEAIQIDQCAFIAIgDHRyIQICQAJAIAAoAgQiBCAAKAJoTw0AIAAgBEEBajYCBCAELQAAIQQMAQsgABA6IQQLIARB8cAAai0AACEFAkAgAkH///8/Sw0AIAEgBUsNAQsLIAKtIQcLIAEgBU0NAEJ/IAytIgmIIgogB1QNAANAIAcgCYYhByAFrUL/AYMhCAJAAkAgACgCBCIEIAAoAmhPDQAgACAEQQFqNgIEIAQtAAAhBAwBCyAAEDohBAsgByAIhCEHIAEgBEHxwABqLQAAIgVNDQEgByAKWA0ACwsgASAEQfHAAGotAABNDQADQAJAAkAgACgCBCIEIAAoAmhPDQAgACAEQQFqNgIEIAQtAAAhBAwBCyAAEDohBAsgASAEQfHAAGotAABLDQALECNBIjYCACAGQQAgA0IBg1AbIQYgAyEHCwJAIAAoAmhFDQAgACAAKAIEQX9qNgIECwJAIAcgA1QNAAJAIAOnQQFxDQAgBg0AECNBIjYCACADQn98DwsgByADWA0AECNBIjYCACADDwsgByAGrCIIhSAIfSEHCyAHC38CAX8BfiMAQZABayIDJAAgAyAANgIsIAMgADYCBCADQQA2AgAgA0F/NgJMIANBfyAAQf////8HaiAAQQBIGzYCCCADQgAQOSADIAJBAUJ/EDshBAJAIAFFDQAgASAAIAMoAgQgAygCeGogAygCCGtqNgIACyADQZABaiQAIAQLiAECAX8BfiMAQZABayIDJAAgAyAANgIsIAMgADYCBCADQQA2AgAgA0F/NgJMIANBfyAAQf////8HaiAAQQBIGzYCCCADQgAQOSADIAJBAUKAgICAgICAgIB/EDshBAJAIAFFDQAgASAAIAMoAgQgAygCeGogAygCCGtqNgIACyADQZABaiQAIAQLhAECAX8BfiMAQZABayIDJAAgAyAANgIsIAMgADYCBCADQQA2AgAgA0F/NgJMIANBfyAAQf////8HaiAAQQBIGzYCCCADQgAQOSADIAJBAUL/////DxA7IQQCQCABRQ0AIAEgACADKAIEIAMo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IAUpA2AhBAsCQCAKDQAgBUHQAGogAyALQgBCgICAgICAwLvAABAJIAVB2ABqKQMAIgtCMIinQYh/aiEKIAUpA1AhAwsgCUL///////8/g0KAgICAgIDAAIQiCSALQv///////z+DQoCAgICAgMAAhCIMfSAEIANUrX0iDUJ/VSEGIAQgA30hCwJAIAggCkwNAANAAkACQCAGQQFxRQ0AAkAgDSALhEIAUg0AIAVBIGogASACQgBCABAJIAVBKGopAwAhAiAFKQMgIQQMBQsgC0I/iCEJIA1CAYYhDQwBCyAEQj+IIQ0gCUIBhiEJIAQhCwsgDSAJhCIJIAx9IAtCAYYiBCADVK19Ig1Cf1UhBiAEIAN9IQsgCEF/aiIIIApKDQALCwJAIAZFDQAgDSEJIAshBCANIAuEQgBSDQAgBUEwaiABIAJCAEIAEAkgBUE4aikDACECIAUpAzAhBAwBCwJAIAlC////////P1YNAANAIARCP4ghAyAIQX9qIQggBEIBhiEEIAMgCUIBhoQiCUKAgICAgIDAAFQNAAsLIAdBgIACcSEGAkAgCEEASg0AIAVBwABqIAQgCUL///////8/gyAIQfgAaiAGcq1CMIaEQgBCgICAgICAwMM/EAkgBUHIAGopAwAhAiAFKQNAIQQMAQsgCUL///////8/gyAIIAZyrUIwhoQhAgsgACAENwMAIAAgAjcDCCAFQYABaiQACxIAIAC9Qv///////////wCDvwvmAgECfyMAQdAAayIEJAACQAJAIANBgIABSA0AIARBIGogASACQgBCgICAgICAgP//ABAJIARBIGpBCGopAwAhAiAEKQMgIQECQCADQYGAf2oiBUGAgAFODQAgBSEDDAILIARBEGogASACQgBCgICAgICAgP//ABAJIANB/f8CIANB/f8CSBtBgoB+aiEDIARBEGpBCGopAwAhAiAEKQMQIQEMAQsgA0GBgH9KDQAgBEHAAGogASACQgBCgICAgICAgDkQCSAEQcAAakEIaikDACECIAQpA0AhAQJAIANBjf8AaiIFQYGAf0wNACAFIQMMAQsgBEEwaiABIAJCAEKAgICAgICAORAJIANB6IF9IANB6IF9ShtBmv4BaiEDIARBMGpBCGopAwAhAiAEKQMwIQELIAQgASACQgAgA0H//wBqrUIwhhAJIAAgBEEI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DAULIAxBAEchDCAJQQBIDQELIAcoAgBFDQAgCCAIKAIAQX9qNgIACyAMDQIQI0EWNgIAC0IAIQUgAUIAEDlCACEGDAILIARB4AFqIA0QCiAEQdABaiAEKQPgASAEQeABakEIaikDAEIAQoCAgICAgMAAEAkgBEHAAWogBCkD0AEgBEHQAWpBCGopAwBCAEKAgICAgIDAABAJECNBIjYCACAEQcABakEIaikDACEGIAQpA8ABIQUMBAsCQCAOKAIAIgkNACAEQcADaiANt0QAAAAAAAAAAKIQDCAEQcgDaikDACEGIAQpA8ADIQUMAQsCQCAGQglVDQAgBSAGUg0AAkAgAkF/akECSQ0AIAkgC3YNAQsgBEHgA2ogCRAOIARB8ANqIA0QCiAEQdADaiAEKQPwAyAEQfADakEIaikDACAEKQPgAyAEQeADakEIaikDABAJIARB0ANqQQhqKQMAIQYgBCkD0AMhBQwBCwJAIAUgCkF+baxXDQAgBEGgBGogDRAKIARBkARqIAQpA6AEIARBoARqQQhqKQMAQn9C////////v///ABAJIARBgARqIAQpA5AEIARBkARqQQhqKQMAQn9C////////v///ABAJECNBIjYCACAEQYAEakEIaikDACEGIAQpA4AEIQUMAQsCQCAFIApBnn5qrFkNACAEQdAEaiANEAogBEHABGogBCkD0AQgBEHQBGpBCGopAwBCAEKAgICAgIDAABAJIARBsARqIAQpA8AEIARBwARqQQhqKQMAQgBCgICAgICAwAAQCRAjQSI2AgAgBEGwBGpBCGopAwAhBiAEKQOwBCEFDAELAkAgG0UNAAJAIBtBCEoNACAbQXdqIQkgDiAVQQJ0aiIBKAIAIQgDQCAIQQpsIQggCUEBaiIMIAlPIQcgDCEJIAcNAAsgASAINgIACyAVQQFqIRULIAWnIRICQCAaQQlODQAgGiASSg0AIBJBEUoNAAJAIBJBCUcNACAEQfAEaiANEAogBEGABWogDigCABAOIARB4ARqIAQpA/AEIARB8ARqQQhqKQMAIAQpA4AFIARBgAVqQQhqKQMAEAkgBEHgBGpBCGopAwAhBiAEKQPgBCEFDAILAkAgEkEISg0AIARBwAVqIA0QCiAEQdAFaiAOKAIAEA4gBEGwBWogBCkDwAUgBEHABWpBCGopAwAgBCkD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DQEgBSAAakEgOgAACyAAQQFqIQALIAxBAnEhBCAKIQgCQCADDQAgCiEIIAQNACAKIQggACALTw0AIAsgAGshDEEAIQMDQEEgIAEgCiADaiACIAYRAwAgDCADQQFqIgNHDQALIAogA2ohCAsgAA0KDAsLQQEhCQJAIAxBAnEiDA0AQQIhCSALQQJJDQAgC0F/aiEDIAtBAWohCUEAIQADQEEgIAEgCiAAaiACIAYRAwAgAyAAQQFqIgBHDQALIAogAGohCgsgBCwAACABIAogAiAGEQMAIApBAWohCCAEQQRqIQQgDEUNBSAJIAtPDQUgCyAJayEAA0BBICABIAggAiAGEQMAIAhBAWohCCAAQX9qIgANAAwGCwsgBCgCACIOQX9qIQADQCAAQQFqIgAtAAANAAsgACAOayIAIAggACAISRsgACAMQYAIcSIVQQp2GyEJAkAgDEECcSIMDQACQCAJIAtJDQAgCUEBaiEJDAELIAsgCWshAyALQQFqIQlBACEAA0BBICABIAogAGogAiAGEQMAIAMgAEEBaiIARw0ACyAKIABqIQoLAkAgDi0AACIARQ0AAkAgFQ0AIA5BAWohAwNAIABBGHRBGHUgASAKIAIgBhEDACAKQQFqIQogAy0AACEAIANBAWohAyAADQAMAgsLIA5BAWohAwNAIAhFDQEgAEEYdEEYdSABIAogAiAGEQMAIApBAWohCiAIQX9qIQggAy0AACEAIANBAWohAyAADQALCyAEQQRqIQQCQCAMDQAgCiEIIA1BAWohAwwMCwJAIAkgC0kNACAKIQggDUEBaiEDDAwLIAsgCWshAANAQSAgASAKIAIgBhEDACAKQQFqIQogAEF/aiIADQALIAohCCANQQFqIQMMCwsgDEEhciIAIABBb3EgBCgCACIAGyEJAkACQCAADQBBACEDIAlBgAhxDQELQQAhAwNAIAUgA2pBMEE3IABBD3EiC0EKSRsgC2o6AAAgA0EBaiIDQR9LDQEgAEEPSyELIABBBHYhACALDQALCyAEQQRqIQQgBiABIAogAiAFIANBAEEQIAhBCCAJEFwhCCANQQFqIQMMCgtBJSABIAogAiAGEQMADAELIA4gASAKIAIgBhEDAAsgCkEBaiEICyANQQFqIQMMBgtBACABIAogAkF/aiAKIAJJGyACIAYRAwAgBUEgaiQAIAoPCyALQRh0QRh1IAEgCiACIAYRAwAgCUF/aiEJIABBAWohACADQQFqIQMgCkEBaiEKDAALCwNAIAcgAGosAAAgASAIIAIgBhEDACAIQQFqIQggAEF/aiIADQALCyAERQ0AIAggCmsgC08NACAIIAlqIQADQEEgIAEgCCACIAYRAwAgCEEBaiEIIABBAWoiACALSQ0ACwsgFEEIaiEEIA1BAWohAwwACwsCAAuRBQECfwJAIApBAnEiCw0AIAUgCE8NACAFQR9LDQADQCAEIAVqQTA6AAAgBUEBaiIFIAhPDQEgBUEgSQ0ACwsCQCAKQQNxQQFHDQAgBSAJTw0AIAVBH0sNAANAIAQgBWpBMDoAACAFQQFqIgUgCU8NASAFQSBJDQALCyAKQQFxIQwCQAJAAkACQCAKQRBxRQ0AAkAgCkGACHENACAFRQ0AAkAgBSAIRg0AIAUgCUcNAQsgBUF+aiAFQX9qIgggCBsgCCAHQRBGGyEFCwJAAkAgB0EQRw0AAkAgCkEgcSIIDQAgBUEfSw0AIAQgBWpB+AA6AAAgBUEBaiEFDAILIAhFDQEgBUEfSw0BIAQgBWpB2AA6AAAgBUEBaiEFDAELIAdBAkcNACAFQR9LDQAgBCAFakHiADoAACAFQQFqIQULIAVBH0sNASAEIAVqQTA6AAAgBUEBaiEFDAELIAUNAEEAIQUMAQsCQCAFIAlHDQAgCSAKQQxxQQBHIAZyayEFCyAFQR9LDQELAkAgBkUNACAEIAVqQS06AAAgBUEBaiEFDAELAkAgCkEEcUUNACAEIAVqQSs6AAAgBUEBaiEFDAELIApBCHFFDQAgBCAFakEgOgAAIAVBAWohBQsgAiEIAkAgDA0AIAIhCCALDQAgAiEIIAUgCU8NACAJIAVrIQogAiEIA0BBICABIAggAyAAEQMAIAhBAWohCCAKQX9qIgoNAAsLAkAgBUUNACAEQX9qIQoDQCAKIAVqLAAAIAEgCCADIAARAwAgCEEBaiEIIAVBf2oiBQ0ACwsCQCALRQ0AIAggAmsgCU8NAEEAIAJrIQUDQEEgIAEgCCADIAARAwAgBSAIQQFqIghqIAlJDQALCyAICxYAAkAgAiADTw0AIAEgAmogADoAAAsLKwEBfyMAQRBrIgQkACAEIAM2AgxBBCAAIAEgAiADEFohAyAEQRBqJAAgAwsnAQF/IwBBEGsiAyQAQQUgA0EPakF/IAEgAhBaIQEgA0EQaiQAIAELfwECf0EAIQICQCAAKAJMQQBIDQAgABA0IQILAkACQCABDQAgAC0ASiEDDAELAkAgACgCiAENACAAQZDHAEH4xgBBACgCABs2AogBCyAALQBKIgMNACAAQQFBfyABQQBKGyIDOgBKCyADQRh0QRh1IQECQCACRQ0AIAAQNQsgAQtcAQF/IAAgAC0ASiIBQX9qIAFyOgBKAkAgACgCACIBQQhxRQ0AIAAgAUEgcjYCAEF/DwsgAEIANwIEIAAgACgCLCIBNgIcIAAgATYCFCAAIAEgACgCMGo2AhBBAAuQAQEDfyMAQRBrIgIkACACIAE6AA8CQAJAIAAoAhAiAw0AQX8hAyAAEGENASAAKAIQIQMLAkAgACgCFCIEIANPDQAgAUH/AXEiAyAALABLRg0AIAAgBEEBajYCFCAEIAE6AAAMAQtBfyEDIAAgAkEPakEBIAAoAiQRAQBBAUcNACACLQAPIQMLIAJBEGokACADC6wCAQF/QQEhAwJAIABFDQACQCABQf8ASw0AIAAgAToAAEEBDwsCQAJAQQAoAgANAAJAIAFBgH9xQYC/A0YNABAjQdQANgIADAILIAAgAToAAEEBDwsCQCABQf8PSw0AIAAgAUE/cUGAAXI6AAEgACABQQZ2QcABcjoAAEECDwsCQAJAIAFBgLADSQ0AIAFBgEBxQYDAA0cNAQsgACABQT9xQYABcjoAAiAAIAFBDHZB4AFyOgAAIAAgAUEGdkE/cUGAAXI6AAFBAw8LAkAgAUGAgHxqQf//P0sNACAAIAFBP3FBgAFyOgADIAAgAUESdkHwAXI6AAAgACABQQZ2QT9xQYABcjoAAiAAIAFBDHZBP3FBgAFyOgABQQQPCxAjQdQANgIAC0F/IQMLIAMLFAACQCAADQBBAA8LIAAgAUEAEGML5AEBBn8CQAJAIAIoAhAiAw0AQQAhBCACEGENASACKAIQIQMLAkAgAyACKAIUIgVrIAFPDQAgAiAAIAEgAigCJBEBAA8LQQAhBgJAIAIsAEtBAEgNAEEAIQYgACEEQQAhAwNAIAEgA0YNASADQQFqIQMgBCABaiEHIARBf2oiCCEEIAdBf2otAABBCkcNAAsgAiAAIAEgA2tBAWoiBiACKAIkEQEAIgQgBkkNASAIIAFqQQFqIQAgAigCFCEFIANBf2ohAQsgBSAAIAEQBxogAiACKAIUIAFqNgIUIAYgAWohBAsgBAuGAgEEfyMAQRBrIgIkAEEAKALYQCEDAkAgASwASkEASg0AIAFBARBgGgtBACABKAKIATYC2EACQAJAAkACQCAAQf8ASw0AAkAgAEH/AXEiBCABLABLRg0AIAEoAhQiBSABKAIQTw0AIAEgBUEBajYCFCAFIAA6AAAgBCEADAQLIAEgABBiIQAMAQsCQCABKAIUIgRBBGogASgCEE8NACAEIAAQZCIEQQBIDQIgASABKAIUIARqNgIUDAELIAJBDGogABBkIgRBAEgNASACQQxqIAQgARBlIARJDQELIABBf0cNAQsgASABKAIAQSByNgIAQX8hAAtBACADNgLYQCACQRBqJAAgAAs0AQF/AkAgASgCTEF/Sg0AIAAgARBmDwsgARA0IQIgACABEGYhAAJAIAJFDQAgARA1CyAACzwBAn8CQCAAQf8BcSIBQYABSQ0AQX8hAUEAKAIAIQIgAEF/Rg0AIAINACAAQRh0QRh1Qf+/A3EhAQsgAQsZAQF/IABBACABEC8iAiAAa0ECdSABIAIbCycBAX8jAEEQayIDJAAgAyACNgIMIAAgASACEF8hAiADQRBqJAAgAgsEACAACwgAIAAgARBrC3oBA39BACEBAkACQAJAA0AgAUGwxwBqLQAAIABGDQFB1wAhAiABQQFqIgFB1wBHDQAMAgsLIAEhAiABDQBBkMgAIQMMAQtBkMgAIQEDQCABLQAAIQAgAUEBaiIDIQEgAA0AIAMhASACQX9qIgINAAsLIANBACgCFBBsC9ECAQN/IwBBEGsiAyQAAkACQCABDQBBACEBDAELAkAgAkUNACAAIANBDGogABshBAJAIAEtAAAiAEEYdEEYdSIFQQBIDQAgBCAANgIAIAVBAEchAQwCCwJAQQAoAgANACAEIAVB/78DcTYCAEEBIQEMAgsgAEG+fmoiAEEySw0AIABBAnRBoNYAaigCACEAAkAgAkEDSw0AIAAgAkEGbEF6anRBAEgNAQsgAS0AASIFQQN2IgJBcGogAiAAQRp1anJBB0sNAAJAIAVBgH9qIABBBnRyIgBBAEgNACAEIAA2AgBBAiEBDAILIAEtAAJBgH9qIgJBP0sNAAJAIAIgAEEGdHIiAEEASA0AIAQgADYCAEEDIQEMAgsgAS0AA0GAf2oiAUE/Sw0AIAQgASAAQQZ0cjYCAEEEIQEMAQsQI0HUADYCAEF/IQELIANBEGokACABC+sBAQN/IwBBwAFrIgMkACADIAI2ArwBQQAhBCADQbABakEANgIAIANBqAFqQgA3AwAgA0GgAWpCADcDACADQgA3A5gBIANCADcDkAEgAyACNgK4AQJAAkBBACABIANBuAFqIAMgA0GQAWoQcEEATg0AQX8hAgwBCwJAIAAoAkxBAEgNACAAEDRBAEchBAsgAEEBEGAaIAAgACgCACICQV9xNgIAIAAgASADQbgBaiADIANBkAFqEHAhASAAIAAoAgAiBSACQSBxcjYCAEF/IAEgBUEgcRshAiAERQ0AIAAQNQsgA0HAAWokACACC9AWARB/IwBBsAFrIgUkACAFQTBqQRhqIQYgBUHEAGohB0EAIQhBACEJQQAhCgJAAkACQANAIAggCWohCQJAAkACQCABKAIAIgtFDQAgASEMA0ACQAJAAkAgC0UNACALQSVHDQIgDCENIAwhCwNAAkAgC0EEaigCAEElRg0AIAshDAwDCyANQQRqIQ0gCygCCCEIIAtBCGoiDCELIAhBJUYNAAwCCwsgDCENCyANIAFrIg1BAnUiCEH/////ByAJayIOSg0GAkACQCAARQ0AIA1FDQEgCCELA0AgAC0AAEEgcQ0BIAEoAgAgABBnGiABQQRqIQEgC0F/aiILDQALCyANRQ0AIAwhAQwFCyAMQQRqIQFBfyEPAkACQCAMKAIEIhBBUGoiDUEJTQ0AQX8hEQwBCyAMQQxqIAEgDCgCCEEkRiILGyEBIA1BfyALGyERQQEgCiALGyEKIAxBDEEEIAsbaigCACEQC0EAIQwCQAJAAkACQAJAAkACQCAQQWBqIgtBH00NAEEAIQhBACENQQAhEgwBCwJAAkBBASALdCILQYnRBHENAEEAIQ0MAQsgAUEEaiEBQQAhCEEAIQ0CQAJAA0AgCyANciENIAEoAgAiEEFgaiILQSBPDQEgAUEEaiEBQQEgC3QiC0GJ0QRxRQ0CDAALC0EAIRIMAgsgAUF8aiEBCwJAAkAgEEEqRw0AAkACQCABKAIEQVBqIgtBCUsNACABKAIIQSRHDQAgBCALQQJ0akEKNgIAIAFBDGohEyABKAIEQQR0IANqQYB6aigCACEIQQEhCgwBCyAKDQQgAUEEaiETAkAgAA0AQQAhCkEAIQggEygCACEQDAMLIAIgAigCACILQQRqNgIAIAsoAgAhCEEAIQoLAkAgCEF/Sg0AQQAgCGshCCANQYDAAHIhDQsgEygCACEQDAELQQAhCAJAIBBBUGoiFEEJTQ0AIAEiEygCACEQDAELQQAhCwNAQX8hCAJAIAtBzJmz5gBLDQBBfyALQQpsIgsgFGogFEH/////ByALa0sbIQgLIAEoAgQhECABQQRqIhMhASAIIQsgEEFQaiIUQQpJDQALIAhBAEgNDQtBACESAkAgEEEuRg0AIBMhAQwBCwJAIBMoAgQiC0EqRw0AAkACQCATKAIIQVBqIgtBCUsNACATKAIMQSRHDQAgBCALQQJ0akEKNgIAIBNBEGohASATKAIIQQR0IANqQYB6aigCACEPDAELIAoNAyATQQhqIQECQCAADQBBACEPDAELIAIgAigCACILQQRqNgIAIAsoAgAhDwsgD0F/c0EfdiESDAELIBNBBGohAUEBIRJBACEPIAtBUGoiEEEJSw0AQQAhCwNAQX8hDwJAIAtBzJmz5gBLDQBBfyALQQpsIgsgEGogEEH/////ByALa0sbIQ8LIAEoAgQhECABQQRqIhQhASAPIQsgEEFQaiIQQQpJDQALIBQhAQsDQCAMIQsgASgCAEG/f2oiDEE5Sw0BIAFBBGohASALQTpsIAxqQeDYAGotAAAiDEF/akEISQ0ACyAMRQ0AIAxBG0cNASARQX9MDQILECNBFjYCAEF/IQkMDAsgEUEASA0BIAQgEUECdGogDDYCACAFIAMgEUEEdGoiDCkDADcDoAEgBSAMQQhqKQMANwOoAQsgAA0BDAULAkAgAA0AQQAhCQwKCyAFQaABaiAMIAIQcQsCQCABQXxqKAIAIgxBX3EgDCAMQQ9xQQNGGyAMIAsbIhBBvX9qIgxBMEsNAAJAAkACQAJAAkACQAJAIAwOMQMHBwcHBwcHBwcHBwcHBwcEBwcHBwcHBwcHBwcHBwcHAgcHBwcHBwcHBwUBBwcHBwADCyAFKAKgASEMDAULIAtB/wFxIgxBB0sNCQJAAkACQAJAAkACQAJAIAwOCAABAgMEEAUGAAsgBSgCoAEgCTYCAAwPCyAFKAKgASAJNgIADA4LIAUoAqABIAmsNwMADA0LIAUoAqABIAk7AQAMDAsgBSgCoAEgCToAAAwLCyAFKAKgASAJNgIADAoLIAUoAqABIAmsNwMADAkLIAUoAqABEGggABBnGkEBIQgMCQsgBSgCoAEgABBnGkEBIQgMCAsgBSgCoAEiDEH/////ByAPIA9BAEgbEGkhEAJAIA9Bf0oNACAMIBBBAnRqKAIADQoLIBBBAnRBAnUiCyAIIAggC0gbIQgCQCANQYDAAHENACAFQezXADYCVCAFIAggC2s2AlAgAEHEwAAgBUHQAGoQahogEEUNCANAIAAtAABBIHENCSAMKAIAIAAQZxogDEEEaiEMIAtBf2oiC0UNCQwACwsCQCAQRQ0AIAshDQNAIAAtAABBIHENASAMKAIAIAAQZxogDEEEaiEMIA1Bf2oiDQ0ACwsgBUHs1wA2AmQgBSAIIAtrNgJgIABBxMAAIAVB4ABqEGoaDAcLIAUQIygCABBtIgw2AqABCwJAIAwNAEHt1wAhDCAFQe3XADYCoAELQQAhECAMIQsCQEH/////ByAPIA9BAEgbIhNBAUgNAEEAIRAgDCELAkADQCAFQYwBaiALQQQQbiIUQQFIDQEgCyAUaiELIBMgEEEBaiIQRw0ACyATIRAMAQsgFEEASA0JCwJAIA9Bf0oNACALLQAADQgLIBAgCCAIIBBIGyEIAkAgDUGAwABxIhQNACAFQezXADYChAEgBSAIIBBrNgKAASAAQcTAACAFQYABahBqGgsCQCAQRQ0AIBAhCwNAIAVBjAFqIAxBBBBuIQ0gBSgCjAEgABBnGiAMIA1qIQwgC0F/aiILDQALCyAURQ0FIAVB7NcANgJ0IAUgCCAQazYCcCAAQcTAACAFQfAAahBqGgwFCwJAIA9Bf0oNACASDQcLIAYgEDYCACAHIBBBIHIiDEHf1wBqLAAANgIAIAVBMGpBEGogDUEQdkF/c0EBcUG62ABqNgIAIAUgDUF/c0EBcUG42ABqNgI8IAUgDUENdkF/c0EBcUG22ABqNgI4IAUgDUELdkF/c0EBcUG02ABqNgI0IAUgDUEDdkF/c0EBcUGy2ABqNgIwIAVBkAFqQRBBntgAIAVBMGoQXhogDEGff2oiDEEXSw0DAkBBASAMdCIMQYiCwwRxDQAgDEHxAHFFDQQgBUEQaiAFKQOgATcDACAFQRhqIAUpA6gBNwMAIAUgCDYCACAFIA82AgQgACAFQZABaiAFEGohCAwFCyAFIAg2AiAgBSAPNgIkIAUgBSkDoAE3AyggACAFQZABaiAFQSBqEGohCAwECyAMKAIEIQsgDEEEaiEMDAALCyAADQUCQCAKDQBBACEJDAYLAkACQCAEKAIEIgwNAEEBIQwMAQsgA0EQaiAMIAIQcQJAIAQoAggiDA0AQQIhDAwBCyADQSBqIAwgAhBxAkAgBCgCDCIMDQBBAyEMDAELIANBMGogDCACEHECQCAEKAIQIgwNAEEEIQwMAQsgA0HAAGogDCACEHECQCAEKAIUIgwNAEEFIQwMAQsgA0HQAGogDCACEHECQCAEKAIYIgwNAEEGIQwMAQsgA0HgAGogDCACEHECQCAEKAIcIgwNAEEHIQwMAQsgA0HwAGogDCACEHECQCAEKAIgIgwNAEEIIQwMAQsgA0GAAWogDCACEHECQCAEKAIkIgwNAEEJIQwMAQsgA0GQAWogDCACEHFBASEJDAYLQX8hCSAEIAxBAnRqKAIADQUgBCAMQQFqIgtBAnRqIQwCQANAIAsiAUEKRg0BIAFBAWohCyAMKAIAIQ0gDEEEaiEMIA1FDQALC0F/QQEgAUEKSRshCQwFC0EAIQgLIAggDkwNAAsLECNBywA2AgALQX8hCQsgBUGwAWokACAJC40EAAJAIAFBd2oiAUEPSw0AAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAQ4QAAECBQMEBgcICQoLDA0ODwALIAIgAigCACIBQQRqNgIAIAAgASgCADYCAA8LIAIgAigCACIBQQRqNgIAIAAgATQCADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATUCADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATQCADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATUCADcDAA8LIAIgAigCAEEHakF4cSIBQQhqNgIAIAAgASkDADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATIBADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATMBADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATAAADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATEAADcDAA8LIAIgAigCAEEHakF4cSIBQQhqNgIAIAAgASkDADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATUCADcDAA8LIAIgAigCAEEHakF4cSIBQQhqNgIAIAAgASkDADcDAA8LIAIgAigCAEEHakF4cSIBQQhqNgIAIAAgASkDADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATQCADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATUCADcDAAsLugEBAn8jAEGgA2siBCQAQX8hBSAEIAFBf2o2AgwgBCAANgIIIARBkAJqQQBBkAEQAhogBEGAAjYCwAIgBEEGNgK0AiAEQf8BOgDbAiAEQX82AtwCIAQgBEEQajYCvAIgBCAEQQhqNgLkAgJAIAFFDQBBfyEFAkAgAUF/Sg0AECNBywA2AgAMAQsgBEGQAmogAiADEG8hBSAEQZACakEAQQAQcxogBUF/IAUgAUkbIQULIARBoANqJAAgBQvsAQEFfyAAKAJUIQMCQAJAAkAgACgCHCIEIAFGDQBBfyEFIAAgBCAAKAIUIARrEHNBf0YNAQsgAygCACEGAkAgAkUNACADKAIERQ0AIAIhBANAIAYgASAEEG4iBUEASA0DIAMgAygCBEF/aiIHNgIEIAMgAygCAEEEaiIGNgIAIAQgBWsiBEUNASABIAVqIQEgBw0ACwsgBkEANgIAIAAgACgCLCIDNgIcIAAgAzYCFCAAIAMgACgCMGo2AhAgAiEFCyAFDwsgAygCAEEANgIAIABBADYCHCAAQgA3AxAgACAAKAIAQSByNgIAIAULKQEBfyMAQRBrIgQkACAEIAM2AgwgACABIAIgAxByIQMgBEEQaiQAIAMLBQAQBgALuwEBA38gAEIANwIAIABBCGoiAkEANgIAAkAgAS0AAEEBcQ0AIAAgASkCADcCACACIAFBCGooAgA2AgAgAA8LAkAgASgCBCICQXBPDQAgASgCCCEDAkACQAJAIAJBC0kNACACQRBqQXBxIgQQJiEBIAAgAjYCBCAAIARBAXI2AgAgACABNgIIDAELIAAgAkEBdDoAACAAQQFqIQEgAkUNAQsgASADIAIQBxoLIAEgAmpBADoAACAADwsQBgALzAEBA38CQEFvIAFrIAJJDQACQAJAIAAtAABBAXFFDQAgACgCCCEHDAELIABBAWohBwtBbyEIAkAgAUHm////B0sNAEELIQggAUEBdCIJIAIgAWoiAiACIAlJGyICQQtJDQAgAkEQakFwcSEICyAIECYhAgJAIARFDQAgAiAHIAQQBxoLAkAgAyAFayAEayIDRQ0AIAIgBGogBmogByAEaiAFaiADEAcaCwJAIAFBCkYNACAHECcLIAAgAjYCCCAAIAhBAXI2AgAPCxAGAAvYAgEHfwJAIAFBcE8NAAJAAkAgAC0AACICQQFxRQ0AIAAoAgAiAkF+cUF/aiEDIAAoAgQhBAwBCyACQQF2IQRBCiEDC0EKIQUCQCAEIAEgBCABSxsiAUELSQ0AIAFBEGpBcHFBf2ohBQsCQCAFIANGDQACQAJAIAVBCkcNAEEBIQMgAEEBaiEGIAAoAgghB0EAIQgMAQsgBUEBahAmIQYCQCAFIANLDQAgBkUNAgsCQCAALQAAIgJBAXFFDQAgACgCCCEHQQEhA0EBIQgMAQtBASEIIABBAWohB0EAIQMLAkACQCACQQFxRQ0AIAAoAgQhAQwBCyACQf4BcUEBdiEBCwJAIAFBAWoiAiABSQ0AIAYgByACEAcaCwJAIANFDQAgBxAnCwJAIAhFDQAgACAGNgIIIAAgBDYCBCAAIAVBAWpBAXI2AgAPCyAAIARBAXQ6AAALDwsQBgALpwEBA38CQAJAIAAtAAAiAkEBcSIDDQAgAkEBdiECQQohBAwBCyAAKAIAQX5xQX9qIQQgACgCBCECCwJAAkACQAJAIAIgBEcNACAAIARBASAEIARBAEEAEHcgAC0AAEEBcUUNAQwCCyADDQELIAAgAkEBdEECajoAACAAQQFqIQAMAQsgACACQQFqNgIEIAAoAgghAAsgACACaiIAQQA6AAEgACABOgAACyUBAX9BASEBAkAgAEEgckGff2pBGkkNACAAQVBqQQpJIQELIAELBQAQBgALCgBBACAANwOwXAsCAAuVAgEEfyMAQTBrIgIhAyACJABBACEEAkAQACIFRQ0AAkACQCAFQYAESQ0AIAUQHyEEDAELIAIgBUEPakFwcWsiBCQACyAEIAUQBBoLIAMgBDYCJCADIAQ2AiAgAyAEIAVqNgIoIANBADYCGCADQgA3AxAgA0EgaiADQRBqEH8aIANBADYCCCADQgA3AwAgA0EgaiADEH8aIAMoAhggA0EQakEBciADLQAQIgRBAXEiBRsgAygCFCAEQQF2IAUbIAMoAgggA0EBciADLQAAIgRBAXEiBRsgAygCBCAEQQF2IAUbEAUaAkAgAy0AAEEBcUUNACADKAIIECcLAkAgAy0AEEEBcUUNACADKAIYECcLIANBMGokAAuhAwEFfyMAQSBrIgIkACACQQA2AhggAkIANwMQIAAgAkEQahCAARoCQAJAAkAgAigCFCACKAIQIgNrIgRFDQAgAkEIakEANgIAIAJCADcDACAEQXBPDQICQAJAIARBCksNACACIARBAXQ6AAAgAkEBciEFDAELIARBEGpBcHEiBhAmIQUgAiAENgIEIAIgBkEBcjYCACACIAU2AggLA0AgBSADLQAAOgAAIAVBAWohBSADQQFqIQMgBEF/aiIEDQALIAVBADoAAAJAAkAgAS0AAEEBcQ0AIAFBADsBAAwBCyABKAIIQQA6AAAgAUEANgIEIAEtAABBAXFFDQAgASgCCBAnIAFBADYCAAsgASACKQMANwIAIAFBCGogAkEIaigCADYCAAwBCwJAAkAgAS0AAEEBcQ0AIAFBADsBAAwBCyABKAIIQQA6AAAgAUEANgIEIAEtAABBAXFFDQAgASgCCBAnIAFBADYCAAsgAUEANgIIIAFCADcCAAsCQCACKAIQIgVFDQAgAiAFNgIUIAUQJwsgAkEgaiQAIAAPCyACEHUAC4ACAwF/AX4EfyAAKAIEIQJCACEDQQAhBANAAkAgAiAAKAIISQ0AQQBByMAAEAEgACgCBCECCyACLQAAIQUgACACQQFqIgY2AgQgAyAFQf8AcSAEQf8BcSICdK2EIQMgAkEHaiEEIAYhAiAFQYABcQ0ACwJAAkAgASgCBCIFIAEoAgAiAmsiByADpyIETw0AIAEgBCAHaxCBASAAKAIEIQYgASgCBCEFIAEoAgAhAgwBCyAHIARNDQAgASACIARqIgU2AgQLAkAgACgCCCAGayAFIAJrIgVPDQBBAEH01wAQASAAKAIEIQYLIAIgBiAFEAcaIAAgACgCBCAFajYCBCAAC5gCAQV/AkACQAJAIAAoAggiAiAAKAIEIgNrIAFJDQADQCADQQA6AAAgACAAKAIEQQFqIgM2AgQgAUF/aiIBDQAMAgsLIAMgACgCACIEayIFIAFqIgZBf0wNAUH/////ByEDAkACQCACIARrIgJB/v///wNLDQAgBiACQQF0IgMgAyAGSRsiAw0AQQAhA0EAIQIMAQsgAxAmIQILIAIgA2ohBiACIAVqIgQhAwNAIANBADoAACADQQFqIQMgAUF/aiIBDQALIAQgACgCBCAAKAIAIgFrIgJrIQQCQCACQQFIDQAgBCABIAIQBxogACgCACEBCyAAIAY2AgggACADNgIEIAAgBDYCACABRQ0AIAEQJwsPCyAAEHsACwvMHBgAQZDAAAs8ZmFpbGVkIHRvIGFsbG9jYXRlIHBhZ2VzAAABAgQHAwYFAAAAQAAAAAAAAABAAAAAAAAAACUqcwBnZXQAAEHwwAALgQL/////////////////////////////////////////////////////////////////AAECAwQFBgcICf////////8KCwwNDg8QERITFBUWFxgZGhscHR4fICEiI////////woLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIj/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wBBgMMAC1ggAAAACQAAAAoAAAANAAAACwAAAAwAAACFAAAAACAAAAEgAAACIAAAAyAAAAQgAAAFIAAABiAAAAggAAAJIAAACiAAACggAAApIAAAXyAAAAAwAAAAAAAAAEHgwwALIAoAAABkAAAA6AMAABAnAACghgEAQEIPAICWmAAA4fUFAEGAxAALDBgAAAA1AAAAcQAAAABBjMQACwxr////zvv//5K///8AQaDEAAvIATAwMDEwMjAzMDQwNTA2MDcwODA5MTAxMTEyMTMxNDE1MTYxNzE4MTkyMDIxMjIyMzI0MjUyNjI3MjgyOTMwMzEzMjMzMzQzNTM2MzczODM5NDA0MTQyNDM0NDQ1NDY0NzQ4NDk1MDUxNTI1MzU0NTU1NjU3NTg1OTYwNjE2MjYzNjQ2NTY2Njc2ODY5NzA3MTcyNzM3NDc1NzY3Nzc4Nzk4MDgxODI4Mzg0ODU4Njg3ODg4OTkwOTE5MjkzOTQ5NTk2OTc5ODk5AEHwxQALUAAAAAAAAPA/AAAAAAAAJEAAAAAAAABZQAAAAAAAQI9AAAAAAACIw0AAAAAAAGr4QAAAAACAhC5BAAAAANASY0EAAAAAhNeXQQAAAABlzc1BAEHAxgALFN4SBJUAAAAA////////////////AEHUxgALJEAjAAAUAAAAQy5VVEYtOAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBkMcACxhUIwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQbDHAAtYVCEiGQ0BAgMRSxwMEAQLHRIeJ2hub3BxYiAFBg8TFBUaCBYHKCQXGAkKDhsfJSODgn0mKis8PT4/Q0dKTVhZWltcXV5fYGFjZGVmZ2lqa2xyc3R5ent8AABBkMgAC4wOSWxsZWdhbCBieXRlIHNlcXVlbmNlAERvbWFpbiBlcnJvcgBSZXN1bHQgbm90IHJlcHJlc2VudGFibGUATm90IGEgdHR5AFBlcm1pc3Npb24gZGVuaWVkAE9wZXJhdGlvbiBub3QgcGVybWl0dGVkAE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkATm8gc3VjaCBwcm9jZXNzAEZpbGUgZXhpc3RzAFZhbHVlIHRvbyBsYXJnZSBmb3IgZGF0YSB0eXBlAE5vIHNwYWNlIGxlZnQgb24gZGV2aWNlAE91dCBvZiBtZW1vcnkAUmVzb3VyY2UgYnVzeQBJbnRlcnJ1cHRlZCBzeXN0ZW0gY2FsbABSZXNvdXJjZSB0ZW1wb3JhcmlseSB1bmF2YWlsYWJsZQBJbnZhbGlkIHNlZWsAQ3Jvc3MtZGV2aWNlIGxpbmsAUmVhZC1vbmx5IGZpbGUgc3lzdGVtAERpcmVjdG9yeSBub3QgZW1wdHkAQ29ubmVjdGlvbiByZXNldCBieSBwZWVyAE9wZXJhdGlvbiB0aW1lZCBvdXQAQ29ubmVjdGlvbiByZWZ1c2VkAEhvc3QgaXMgZG93bgBIb3N0IGlzIHVucmVhY2hhYmxlAEFkZHJlc3MgaW4gdXNlAEJyb2tlbiBwaXBlAEkvTyBlcnJvcgBObyBzdWNoIGRldmljZSBvciBhZGRyZXNzAEJsb2NrIGRldmljZSByZXF1aXJlZABObyBzdWNoIGRldmljZQBOb3QgYSBkaXJlY3RvcnkASXMgYSBkaXJlY3RvcnkAVGV4dCBmaWxlIGJ1c3kARXhlYyBmb3JtYXQgZXJyb3IASW52YWxpZCBhcmd1bWVudABBcmd1bWVudCBsaXN0IHRvbyBsb25nAFN5bWJvbGljIGxpbmsgbG9vcABGaWxlbmFtZSB0b28gbG9uZwBUb28gbWFueSBvcGVuIGZpbGVzIGluIHN5c3RlbQBObyBmaWxlIGRlc2NyaXB0b3JzIGF2YWlsYWJsZQBCYWQgZmlsZSBkZXNjcmlwdG9yAE5vIGNoaWxkIHByb2Nlc3MAQmFkIGFkZHJlc3MARmlsZSB0b28gbGFyZ2UAVG9vIG1hbnkgbGlua3MATm8gbG9ja3MgYXZhaWxhYmxlAFJlc291cmNlIGRlYWRsb2NrIHdvdWxkIG9jY3VyAFN0YXRlIG5vdCByZWNvdmVyYWJsZQBQcmV2aW91cyBvd25lciBkaWVkAE9wZXJhdGlvbiBjYW5jZWxlZABGdW5jdGlvbiBub3QgaW1wbGVtZW50ZWQATm8gbWVzc2FnZSBvZiBkZXNpcmVkIHR5cGUASWRlbnRpZmllciByZW1vdmVkAERldmljZSBub3QgYSBzdHJlYW0ATm8gZGF0YSBhdmFpbGFibGUARGV2aWNlIHRpbWVvdXQAT3V0IG9mIHN0cmVhbXMgcmVzb3VyY2VzAExpbmsgaGFzIGJlZW4gc2V2ZXJlZABQcm90b2NvbCBlcnJvcgBCYWQgbWVzc2FnZQBGaWxlIGRlc2NyaXB0b3IgaW4gYmFkIHN0YXRlAE5vdCBhIHNvY2tldABEZXN0aW5hdGlvbiBhZGRyZXNzIHJlcXVpcmVkAE1lc3NhZ2UgdG9vIGxhcmdlAFByb3RvY29sIHdyb25nIHR5cGUgZm9yIHNvY2tldABQcm90b2NvbCBub3QgYXZhaWxhYmxlAFByb3RvY29sIG5vdCBzdXBwb3J0ZWQAU29ja2V0IHR5cGUgbm90IHN1cHBvcnRlZABOb3Qgc3VwcG9ydGVkAFByb3RvY29sIGZhbWlseSBub3Qgc3VwcG9ydGVkAEFkZHJlc3MgZmFtaWx5IG5vdCBzdXBwb3J0ZWQgYnkgcHJvdG9jb2wAQWRkcmVzcyBub3QgYXZhaWxhYmxlAE5ldHdvcmsgaXMgZG93bgBOZXR3b3JrIHVucmVhY2hhYmxlAENvbm5lY3Rpb24gcmVzZXQgYnkgbmV0d29yawBDb25uZWN0aW9uIGFib3J0ZWQATm8gYnVmZmVyIHNwYWNlIGF2YWlsYWJsZQBTb2NrZXQgaXMgY29ubmVjdGVkAFNvY2tldCBub3QgY29ubmVjdGVkAENhbm5vdCBzZW5kIGFmdGVyIHNvY2tldCBzaHV0ZG93bgBPcGVyYXRpb24gYWxyZWFkeSBpbiBwcm9ncmVzcwBPcGVyYXRpb24gaW4gcHJvZ3Jlc3MAU3RhbGUgZmlsZSBoYW5kbGUAUmVtb3RlIEkvTyBlcnJvcgBRdW90YSBleGNlZWRlZABObyBtZWRpdW0gZm91bmQAV3JvbmcgbWVkaXVtIHR5cGUATm8gZXJyb3IgaW5mb3JtYXRpb24AAABBoNYAC8wBAgAAwAMAAMAEAADABQAAwAYAAMAHAADACAAAwAkAAMAKAADACwAAwAwAAMANAADADgAAwA8AAMAQAADAEQAAwBIAAMATAADAFAAAwBUAAMAWAADAFwAAwBgAAMAZAADAGgAAwBsAAMAcAADAHQAAwB4AAMAfAADAAAAAswEAAMMCAADDAwAAwwQAAMMFAADDBgAAwwcAAMMIAADDCQAAwwoAAMMLAADDDAAAww0AANMOAADDDwAAwwAADLsBAAzDAgAMwwMADMMEAAzbAEHt1wALMShudWxsKQBkYXRhc3RyZWFtIGF0dGVtcHRlZCB0byByZWFkIHBhc3QgdGhlIGVuZAAAQZ7YAAsUJSUlcyVzJXMlcyVzKi4qJWMlYwAAQbLYAAsCIwAAQbTYAAsCKwAAQbbYAAsCLQAAQbjYAAsCIAAAQbrYAAsCMAAAQcDYAAsYTAAAakxMTABqAAAAAABqagAAAABqAABqAEHg2AAL0AMZAAoAGRkZAAAAAAUAAAAAAAAJAAAAAAsAAAAAAAAAABkAEQoZGRkDCgcAARsJCxgAAAkGCwAACwAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAoNAAAAAA0AAAIACQ4AAAAJAA4AAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAEwAAAAATAAAAAAkMAAAAAAAMAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAA8AAAAEDwAAAAAJEAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASAAAAAAAAAAAAAAARAAAAABEAAAAACRIAAAAAABIAABIAABoAAAAaGhoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGgAAABoaGgAAAAAAAAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAABcAAAAAFwAAAAAJFAAAAAAAFAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWAAAAAAAAAAAAAAAVAAAAABUAAAAACRYAAAAAABYAABYAAABBAAsEOC4AAA=="
},
"init_balance": 10000000,
"init_input" : "",
"priv":{
"master_weight": 0,
"thresholds": {
"tx_threshold": 1
}
}
}
}]
},
"private_keys": ["privbwQsGDqGRYuvkFAEQdS8KWxVTA3ynzMxpwLHTtFsy1eySSPTRCmt"]
}
]
}提交交易,把上一步整理好的
tx-deploy-cpp-send.json
文件作为POST请求的参数提交到节点:curl -X "POST" --data-binary "@tx-deploy-cpp-send.json" http://127.0.0.1:19333/submitTransaction
示例返回:
{
"results" : [
{
"error_code" : 0,
"error_desc" : "",
"hash" : "a5593b119c6c0b69d95aa1ccc0b88ae14dcbc6f469b209b6c326add13826a6b0"
}
],
"success_count" : 1
}提交成功返回交易交易
a5593b119c6c0b69d95aa1ccc0b88ae14dcbc6f469b209b6c326add13826a6b0
。 -
查询交易状态,向节点提交交易查询请求:
curl http://127.0.0.1:19333/getTransactionHistory?hash=a5593b119c6c0b69d95aa1ccc0b88ae14dcbc6f469b209b6c326add13826a6b0
示例返回:
{"error_code":0,"result":{"total_count":1,"transactions":[{"actual_fee":1048666000,"close_time":1712910173150498,"error_code":0,"error_desc":"[{\"contract_address\":\"adxSTCcApdaDd9Q1Uk1cpipSuEnb6U3tSumCb\",\"contract_evm_address\":\"0x01c4b8b31d1eebf41f9df5b6f899ed9b9cefb58c\",\"operation_index\":0}]","hash":"a5593b119c6c0b69d95aa1ccc0b88ae14dcbc6f469b209b6c326add13826a6b0","ledger_seq":659,"signatures":[{"public_key":"b0011ced68075723ec3bd5db6f7fb4faba33f00f33e374a53806253160bc8f708e8933530369","sign_data":"0d949da0773a7835b9d6d05f62be4cb09b8dc7761ba33a8b0417ef94af47b43ddba7247eb9207f006e54bdf93fde4411b4fc2b1832e309477b440603fe118606"},{"public_key":"b00132c3d1244e0be4d711fb12d5b3d24abeb60f11e8c61c5efe28ad20b793d7fb2402f819e9","sign_data":"ca0d8917a20158c3634392451837cda37889a3b46907bc7028c778c56fff250cfcc196dca170800291d12395717bd90fb773a3b4c3407f8414a0479434b6030c"}],"transaction":{"fee_limit":1500000000,"gas_price":1000,"nonce":18,"operations":[{"create_account":{"contract":{"owner":"adxSdqkc8ooYmthwbiCsNogfyRLH51vh4V75P","payload":"AGFzbQEAAAAB3gEjYAAAYAN/f38Bf2ADf35/AX5gBH9/f38AYAABf2ACf38AYAJ/fwF/YAR/f39/AX9gAn99AGAFf35+fn4AYAJ/fABgBH5+fn4Bf2ACfn4BfGACfn4BfWACf38BfmAAAX5gAn9+AGADfn5+AGABfwF/YAF/AGAEf39/fgF+YAN/f38BfmACfH8BfGACfn4Bf2ABfAF8YAR/fn5/AGACf38BfWACf38BfGADf39/AGACfn8Bf2AFf39/f38Bf2ALf39/f39/f39/f38Bf2AHf39/f39/fwBgAX4AYAJ+fgACsgQdA2VudhBhY3Rpb25fZGF0YV9zaXplAAQDZW52DXdhc21pb19hc3NlcnQABQNlbnYGbWVtc2V0AAEDZW52B21lbW1vdmUAAQNlbnYQcmVhZF9hY3Rpb25fZGF0YQAGA2VudgtjaGFpbl9zdG9yZQAHA2VudgVhYm9ydAAAA2VudgZtZW1jcHkAAQNlbnYNX19leHRlbmRzZnRmMgAIA2VudghfX211bHRmMwAJA2VudgtfX2Zsb2F0c2l0ZgAFA2VudghfX2FkZHRmMwAJA2Vudg1fX2V4dGVuZGRmdGYyAAoDZW52B19fZ2V0ZjIACwNlbnYNX19mbG9hdHVuc2l0ZgAFA2VudghfX2RpdnRmMwAJA2VudgdfX2VxdGYyAAsDZW52B19fbGV0ZjIACwNlbnYHX19uZXRmMgALA2VudghfX3N1YnRmMwAJA2VudgxfX3RydW5jdGZkZjIADANlbnYMX190cnVuY3Rmc2YyAA0DZW52CHByaW50c19sAAUDZW52IHNldF9ibG9ja2NoYWluX3BhcmFtZXRlcnNfcGFja2VkAAUDZW52IGdldF9ibG9ja2NoYWluX3BhcmFtZXRlcnNfcGFja2VkAAYDZW52FnNldF9wcm9wb3NlZF9wcm9kdWNlcnMADgNlbnYMY3VycmVudF90aW1lAA8DZW52FGdldF9hY3RpdmVfcHJvZHVjZXJzAAYDZW52Endhc21pb19hc3NlcnRfY29kZQAQA2ZlABESBhMABAYBEhMSAQEBAQESAQETEwQSEwASEhASFBUVAQEGEhUBFQEBFgkXCRgZAw4aGxwaARscBgYdAx4DHwMHAQYSBgEGAQYGEgYBBgYSAQEeHAcBBxMGIAUFEhMhEyIG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IAAgBEEBajYCBCAELQAAIQQMAQsgABA6IQQLIAggCXwhByABIARB8cAAai0AACIFTQ0CIAcgC1gNAAwCCwsgAUEXbEEFdkEHcUGpwABqLAAAIQxCACEHAkAgASAEQfHAAGotAAAiBU0NAEEAIQIDQCAFIAIgDHRyIQICQAJAIAAoAgQiBCAAKAJoTw0AIAAgBEEBajYCBCAELQAAIQQMAQsgABA6IQQLIARB8cAAai0AACEFAkAgAkH///8/Sw0AIAEgBUsNAQsLIAKtIQcLIAEgBU0NAEJ/IAytIgmIIgogB1QNAANAIAcgCYYhByAFrUL/AYMhCAJAAkAgACgCBCIEIAAoAmhPDQAgACAEQQFqNgIEIAQtAAAhBAwBCyAAEDohBAsgByAIhCEHIAEgBEHxwABqLQAAIgVNDQEgByAKWA0ACwsgASAEQfHAAGotAABNDQADQAJAAkAgACgCBCIEIAAoAmhPDQAgACAEQQFqNgIEIAQtAAAhBAwBCyAAEDohBAsgASAEQfHAAGotAABLDQALECNBIjYCACAGQQAgA0IBg1AbIQYgAyEHCwJAIAAoAmhFDQAgACAAKAIEQX9qNgIECwJAIAcgA1QNAAJAIAOnQQFxDQAgBg0AECNBIjYCACADQn98DwsgByADWA0AECNBIjYCACADDwsgByAGrCIIhSAIfSEHCyAHC38CAX8BfiMAQZABayIDJAAgAyAANgIsIAMgADYCBCADQQA2AgAgA0F/NgJMIANBfyAAQf////8HaiAAQQBIGzYCCCADQgAQOSADIAJBAUJ/EDshBAJAIAFFDQAgASAAIAMoAgQgAygCeGogAygCCGtqNgIACyADQZABaiQAIAQLiAECAX8BfiMAQZABayIDJAAgAyAANgIsIAMgADYCBCADQQA2AgAgA0F/NgJMIANBfyAAQf////8HaiAAQQBIGzYCCCADQgAQOSADIAJBAUKAgICAgICAgIB/EDshBAJAIAFFDQAgASAAIAMoAgQgAygCeGogAygCCGtqNgIACyADQZABaiQAIAQLhAECAX8BfiMAQZABayIDJAAgAyAANgIsIAMgADYCBCADQQA2AgAgA0F/NgJMIANBfyAAQf////8HaiAAQQBIGzYCCCADQgAQOSADIAJBAUL/////DxA7IQQCQCABRQ0AIAEgACADKAIEIAMo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IAUpA2AhBAsCQCAKDQAgBUHQAGogAyALQgBCgICAgICAwLvAABAJIAVB2ABqKQMAIgtCMIinQYh/aiEKIAUpA1AhAwsgCUL///////8/g0KAgICAgIDAAIQiCSALQv///////z+DQoCAgICAgMAAhCIMfSAEIANUrX0iDUJ/VSEGIAQgA30hCwJAIAggCkwNAANAAkACQCAGQQFxRQ0AAkAgDSALhEIAUg0AIAVBIGogASACQgBCABAJIAVBKGopAwAhAiAFKQMgIQQMBQsgC0I/iCEJIA1CAYYhDQwBCyAEQj+IIQ0gCUIBhiEJIAQhCwsgDSAJhCIJIAx9IAtCAYYiBCADVK19Ig1Cf1UhBiAEIAN9IQsgCEF/aiIIIApKDQALCwJAIAZFDQAgDSEJIAshBCANIAuEQgBSDQAgBUEwaiABIAJCAEIAEAkgBUE4aikDACECIAUpAzAhBAwBCwJAIAlC////////P1YNAANAIARCP4ghAyAIQX9qIQggBEIBhiEEIAMgCUIBhoQiCUKAgICAgIDAAFQNAAsLIAdBgIACcSEGAkAgCEEASg0AIAVBwABqIAQgCUL///////8/gyAIQfgAaiAGcq1CMIaEQgBCgICAgICAwMM/EAkgBUHIAGopAwAhAiAFKQNAIQQMAQsgCUL///////8/gyAIIAZyrUIwhoQhAgsgACAENwMAIAAgAjcDCCAFQYABaiQACxIAIAC9Qv///////////wCDvwvmAgECfyMAQdAAayIEJAACQAJAIANBgIABSA0AIARBIGogASACQgBCgICAgICAgP//ABAJIARBIGpBCGopAwAhAiAEKQMgIQECQCADQYGAf2oiBUGAgAFODQAgBSEDDAILIARBEGogASACQgBCgICAgICAgP//ABAJIANB/f8CIANB/f8CSBtBgoB+aiEDIARBEGpBCGopAwAhAiAEKQMQIQEMAQsgA0GBgH9KDQAgBEHAAGogASACQgBCgICAgICAgDkQCSAEQcAAakEIaikDACECIAQpA0AhAQJAIANBjf8AaiIFQYGAf0wNACAFIQMMAQsgBEEwaiABIAJCAEKAgICAgICAORAJIANB6IF9IANB6IF9ShtBmv4BaiEDIARBMGpBCGopAwAhAiAEKQMwIQELIAQgASACQgAgA0H//wBqrUIwhhAJIAAgBEEI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DAULIAxBAEchDCAJQQBIDQELIAcoAgBFDQAgCCAIKAIAQX9qNgIACyAMDQIQI0EWNgIAC0IAIQUgAUIAEDlCACEGDAILIARB4AFqIA0QCiAEQdABaiAEKQPgASAEQeABakEIaikDAEIAQoCAgICAgMAAEAkgBEHAAWogBCkD0AEgBEHQAWpBCGopAwBCAEKAgICAgIDAABAJECNBIjYCACAEQcABakEIaikDACEGIAQpA8ABIQUMBAsCQCAOKAIAIgkNACAEQcADaiANt0QAAAAAAAAAAKIQDCAEQcgDaikDACEGIAQpA8ADIQUMAQsCQCAGQglVDQAgBSAGUg0AAkAgAkF/akECSQ0AIAkgC3YNAQsgBEHgA2ogCRAOIARB8ANqIA0QCiAEQdADaiAEKQPwAyAEQfADakEIaikDACAEKQPgAyAEQeADakEIaikDABAJIARB0ANqQQhqKQMAIQYgBCkD0AMhBQwBCwJAIAUgCkF+baxXDQAgBEGgBGogDRAKIARBkARqIAQpA6AEIARBoARqQQhqKQMAQn9C////////v///ABAJIARBgARqIAQpA5AEIARBkARqQQhqKQMAQn9C////////v///ABAJECNBIjYCACAEQYAEakEIaikDACEGIAQpA4AEIQUMAQsCQCAFIApBnn5qrFkNACAEQdAEaiANEAogBEHABGogBCkD0AQgBEHQBGpBCGopAwBCAEKAgICAgIDAABAJIARBsARqIAQpA8AEIARBwARqQQhqKQMAQgBCgICAgICAwAAQCRAjQSI2AgAgBEGwBGpBCGopAwAhBiAEKQOwBCEFDAELAkAgG0UNAAJAIBtBCEoNACAbQXdqIQkgDiAVQQJ0aiIBKAIAIQgDQCAIQQpsIQggCUEBaiIMIAlPIQcgDCEJIAcNAAsgASAINgIACyAVQQFqIRULIAWnIRICQCAaQQlODQAgGiASSg0AIBJBEUoNAAJAIBJBCUcNACAEQfAEaiANEAogBEGABWogDigCABAOIARB4ARqIAQpA/AEIARB8ARqQQhqKQMAIAQpA4AFIARBgAVqQQhqKQMAEAkgBEHgBGpBCGopAwAhBiAEKQPgBCEFDAILAkAgEkEISg0AIARBwAVqIA0QCiAEQdAFaiAOKAIAEA4gBEGwBWogBCkDwAUgBEHABWpBCGopAwAgBCkD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DQEgBSAAakEgOgAACyAAQQFqIQALIAxBAnEhBCAKIQgCQCADDQAgCiEIIAQNACAKIQggACALTw0AIAsgAGshDEEAIQMDQEEgIAEgCiADaiACIAYRAwAgDCADQQFqIgNHDQALIAogA2ohCAsgAA0KDAsLQQEhCQJAIAxBAnEiDA0AQQIhCSALQQJJDQAgC0F/aiEDIAtBAWohCUEAIQADQEEgIAEgCiAAaiACIAYRAwAgAyAAQQFqIgBHDQALIAogAGohCgsgBCwAACABIAogAiAGEQMAIApBAWohCCAEQQRqIQQgDEUNBSAJIAtPDQUgCyAJayEAA0BBICABIAggAiAGEQMAIAhBAWohCCAAQX9qIgANAAwGCwsgBCgCACIOQX9qIQADQCAAQQFqIgAtAAANAAsgACAOayIAIAggACAISRsgACAMQYAIcSIVQQp2GyEJAkAgDEECcSIMDQACQCAJIAtJDQAgCUEBaiEJDAELIAsgCWshAyALQQFqIQlBACEAA0BBICABIAogAGogAiAGEQMAIAMgAEEBaiIARw0ACyAKIABqIQoLAkAgDi0AACIARQ0AAkAgFQ0AIA5BAWohAwNAIABBGHRBGHUgASAKIAIgBhEDACAKQQFqIQogAy0AACEAIANBAWohAyAADQAMAgsLIA5BAWohAwNAIAhFDQEgAEEYdEEYdSABIAogAiAGEQMAIApBAWohCiAIQX9qIQggAy0AACEAIANBAWohAyAADQALCyAEQQRqIQQCQCAMDQAgCiEIIA1BAWohAwwMCwJAIAkgC0kNACAKIQggDUEBaiEDDAwLIAsgCWshAANAQSAgASAKIAIgBhEDACAKQQFqIQogAEF/aiIADQALIAohCCANQQFqIQMMCwsgDEEhciIAIABBb3EgBCgCACIAGyEJAkACQCAADQBBACEDIAlBgAhxDQELQQAhAwNAIAUgA2pBMEE3IABBD3EiC0EKSRsgC2o6AAAgA0EBaiIDQR9LDQEgAEEPSyELIABBBHYhACALDQALCyAEQQRqIQQgBiABIAogAiAFIANBAEEQIAhBCCAJEFwhCCANQQFqIQMMCgtBJSABIAogAiAGEQMADAELIA4gASAKIAIgBhEDAAsgCkEBaiEICyANQQFqIQMMBgtBACABIAogAkF/aiAKIAJJGyACIAYRAwAgBUEgaiQAIAoPCyALQRh0QRh1IAEgCiACIAYRAwAgCUF/aiEJIABBAWohACADQQFqIQMgCkEBaiEKDAALCwNAIAcgAGosAAAgASAIIAIgBhEDACAIQQFqIQggAEF/aiIADQALCyAERQ0AIAggCmsgC08NACAIIAlqIQADQEEgIAEgCCACIAYRAwAgCEEBaiEIIABBAWoiACALSQ0ACwsgFEEIaiEEIA1BAWohAwwACwsCAAuRBQECfwJAIApBAnEiCw0AIAUgCE8NACAFQR9LDQADQCAEIAVqQTA6AAAgBUEBaiIFIAhPDQEgBUEgSQ0ACwsCQCAKQQNxQQFHDQAgBSAJTw0AIAVBH0sNAANAIAQgBWpBMDoAACAFQQFqIgUgCU8NASAFQSBJDQALCyAKQQFxIQwCQAJAAkACQCAKQRBxRQ0AAkAgCkGACHENACAFRQ0AAkAgBSAIRg0AIAUgCUcNAQsgBUF+aiAFQX9qIgggCBsgCCAHQRBGGyEFCwJAAkAgB0EQRw0AAkAgCkEgcSIIDQAgBUEfSw0AIAQgBWpB+AA6AAAgBUEBaiEFDAILIAhFDQEgBUEfSw0BIAQgBWpB2AA6AAAgBUEBaiEFDAELIAdBAkcNACAFQR9LDQAgBCAFakHiADoAACAFQQFqIQULIAVBH0sNASAEIAVqQTA6AAAgBUEBaiEFDAELIAUNAEEAIQUMAQsCQCAFIAlHDQAgCSAKQQxxQQBHIAZyayEFCyAFQR9LDQELAkAgBkUNACAEIAVqQS06AAAgBUEBaiEFDAELAkAgCkEEcUUNACAEIAVqQSs6AAAgBUEBaiEFDAELIApBCHFFDQAgBCAFakEgOgAAIAVBAWohBQsgAiEIAkAgDA0AIAIhCCALDQAgAiEIIAUgCU8NACAJIAVrIQogAiEIA0BBICABIAggAyAAEQMAIAhBAWohCCAKQX9qIgoNAAsLAkAgBUUNACAEQX9qIQoDQCAKIAVqLAAAIAEgCCADIAARAwAgCEEBaiEIIAVBf2oiBQ0ACwsCQCALRQ0AIAggAmsgCU8NAEEAIAJrIQUDQEEgIAEgCCADIAARAwAgBSAIQQFqIghqIAlJDQALCyAICxYAAkAgAiADTw0AIAEgAmogADoAAAsLKwEBfyMAQRBrIgQkACAEIAM2AgxBBCAAIAEgAiADEFohAyAEQRBqJAAgAwsnAQF/IwBBEGsiAyQAQQUgA0EPakF/IAEgAhBaIQEgA0EQaiQAIAELfwECf0EAIQICQCAAKAJMQQBIDQAgABA0IQILAkACQCABDQAgAC0ASiEDDAELAkAgACgCiAENACAAQZDHAEH4xgBBACgCABs2AogBCyAALQBKIgMNACAAQQFBfyABQQBKGyIDOgBKCyADQRh0QRh1IQECQCACRQ0AIAAQNQsgAQtcAQF/IAAgAC0ASiIBQX9qIAFyOgBKAkAgACgCACIBQQhxRQ0AIAAgAUEgcjYCAEF/DwsgAEIANwIEIAAgACgCLCIBNgIcIAAgATYCFCAAIAEgACgCMGo2AhBBAAuQAQEDfyMAQRBrIgIkACACIAE6AA8CQAJAIAAoAhAiAw0AQX8hAyAAEGENASAAKAIQIQMLAkAgACgCFCIEIANPDQAgAUH/AXEiAyAALABLRg0AIAAgBEEBajYCFCAEIAE6AAAMAQtBfyEDIAAgAkEPakEBIAAoAiQRAQBBAUcNACACLQAPIQMLIAJBEGokACADC6wCAQF/QQEhAwJAIABFDQACQCABQf8ASw0AIAAgAToAAEEBDwsCQAJAQQAoAgANAAJAIAFBgH9xQYC/A0YNABAjQdQANgIADAILIAAgAToAAEEBDwsCQCABQf8PSw0AIAAgAUE/cUGAAXI6AAEgACABQQZ2QcABcjoAAEECDwsCQAJAIAFBgLADSQ0AIAFBgEBxQYDAA0cNAQsgACABQT9xQYABcjoAAiAAIAFBDHZB4AFyOgAAIAAgAUEGdkE/cUGAAXI6AAFBAw8LAkAgAUGAgHxqQf//P0sNACAAIAFBP3FBgAFyOgADIAAgAUESdkHwAXI6AAAgACABQQZ2QT9xQYABcjoAAiAAIAFBDHZBP3FBgAFyOgABQQQPCxAjQdQANgIAC0F/IQMLIAMLFAACQCAADQBBAA8LIAAgAUEAEGML5AEBBn8CQAJAIAIoAhAiAw0AQQAhBCACEGENASACKAIQIQMLAkAgAyACKAIUIgVrIAFPDQAgAiAAIAEgAigCJBEBAA8LQQAhBgJAIAIsAEtBAEgNAEEAIQYgACEEQQAhAwNAIAEgA0YNASADQQFqIQMgBCABaiEHIARBf2oiCCEEIAdBf2otAABBCkcNAAsgAiAAIAEgA2tBAWoiBiACKAIkEQEAIgQgBkkNASAIIAFqQQFqIQAgAigCFCEFIANBf2ohAQsgBSAAIAEQBxogAiACKAIUIAFqNgIUIAYgAWohBAsgBAuGAgEEfyMAQRBrIgIkAEEAKALYQCEDAkAgASwASkEASg0AIAFBARBgGgtBACABKAKIATYC2EACQAJAAkACQCAAQf8ASw0AAkAgAEH/AXEiBCABLABLRg0AIAEoAhQiBSABKAIQTw0AIAEgBUEBajYCFCAFIAA6AAAgBCEADAQLIAEgABBiIQAMAQsCQCABKAIUIgRBBGogASgCEE8NACAEIAAQZCIEQQBIDQIgASABKAIUIARqNgIUDAELIAJBDGogABBkIgRBAEgNASACQQxqIAQgARBlIARJDQELIABBf0cNAQsgASABKAIAQSByNgIAQX8hAAtBACADNgLYQCACQRBqJAAgAAs0AQF/AkAgASgCTEF/Sg0AIAAgARBmDwsgARA0IQIgACABEGYhAAJAIAJFDQAgARA1CyAACzwBAn8CQCAAQf8BcSIBQYABSQ0AQX8hAUEAKAIAIQIgAEF/Rg0AIAINACAAQRh0QRh1Qf+/A3EhAQsgAQsZAQF/IABBACABEC8iAiAAa0ECdSABIAIbCycBAX8jAEEQayIDJAAgAyACNgIMIAAgASACEF8hAiADQRBqJAAgAgsEACAACwgAIAAgARBrC3oBA39BACEBAkACQAJAA0AgAUGwxwBqLQAAIABGDQFB1wAhAiABQQFqIgFB1wBHDQAMAgsLIAEhAiABDQBBkMgAIQMMAQtBkMgAIQEDQCABLQAAIQAgAUEBaiIDIQEgAA0AIAMhASACQX9qIgINAAsLIANBACgCFBBsC9ECAQN/IwBBEGsiAyQAAkACQCABDQBBACEBDAELAkAgAkUNACAAIANBDGogABshBAJAIAEtAAAiAEEYdEEYdSIFQQBIDQAgBCAANgIAIAVBAEchAQwCCwJAQQAoAgANACAEIAVB/78DcTYCAEEBIQEMAgsgAEG+fmoiAEEySw0AIABBAnRBoNYAaigCACEAAkAgAkEDSw0AIAAgAkEGbEF6anRBAEgNAQsgAS0AASIFQQN2IgJBcGogAiAAQRp1anJBB0sNAAJAIAVBgH9qIABBBnRyIgBBAEgNACAEIAA2AgBBAiEBDAILIAEtAAJBgH9qIgJBP0sNAAJAIAIgAEEGdHIiAEEASA0AIAQgADYCAEEDIQEMAgsgAS0AA0GAf2oiAUE/Sw0AIAQgASAAQQZ0cjYCAEEEIQEMAQsQI0HUADYCAEF/IQELIANBEGokACABC+sBAQN/IwBBwAFrIgMkACADIAI2ArwBQQAhBCADQbABakEANgIAIANBqAFqQgA3AwAgA0GgAWpCADcDACADQgA3A5gBIANCADcDkAEgAyACNgK4AQJAAkBBACABIANBuAFqIAMgA0GQAWoQcEEATg0AQX8hAgwBCwJAIAAoAkxBAEgNACAAEDRBAEchBAsgAEEBEGAaIAAgACgCACICQV9xNgIAIAAgASADQbgBaiADIANBkAFqEHAhASAAIAAoAgAiBSACQSBxcjYCAEF/IAEgBUEgcRshAiAERQ0AIAAQNQsgA0HAAWokACACC9AWARB/IwBBsAFrIgUkACAFQTBqQRhqIQYgBUHEAGohB0EAIQhBACEJQQAhCgJAAkACQANAIAggCWohCQJAAkACQCABKAIAIgtFDQAgASEMA0ACQAJAAkAgC0UNACALQSVHDQIgDCENIAwhCwNAAkAgC0EEaigCAEElRg0AIAshDAwDCyANQQRqIQ0gCygCCCEIIAtBCGoiDCELIAhBJUYNAAwCCwsgDCENCyANIAFrIg1BAnUiCEH/////ByAJayIOSg0GAkACQCAARQ0AIA1FDQEgCCELA0AgAC0AAEEgcQ0BIAEoAgAgABBnGiABQQRqIQEgC0F/aiILDQALCyANRQ0AIAwhAQwFCyAMQQRqIQFBfyEPAkACQCAMKAIEIhBBUGoiDUEJTQ0AQX8hEQwBCyAMQQxqIAEgDCgCCEEkRiILGyEBIA1BfyALGyERQQEgCiALGyEKIAxBDEEEIAsbaigCACEQC0EAIQwCQAJAAkACQAJAAkACQCAQQWBqIgtBH00NAEEAIQhBACENQQAhEgwBCwJAAkBBASALdCILQYnRBHENAEEAIQ0MAQsgAUEEaiEBQQAhCEEAIQ0CQAJAA0AgCyANciENIAEoAgAiEEFgaiILQSBPDQEgAUEEaiEBQQEgC3QiC0GJ0QRxRQ0CDAALC0EAIRIMAgsgAUF8aiEBCwJAAkAgEEEqRw0AAkACQCABKAIEQVBqIgtBCUsNACABKAIIQSRHDQAgBCALQQJ0akEKNgIAIAFBDGohEyABKAIEQQR0IANqQYB6aigCACEIQQEhCgwBCyAKDQQgAUEEaiETAkAgAA0AQQAhCkEAIQggEygCACEQDAMLIAIgAigCACILQQRqNgIAIAsoAgAhCEEAIQoLAkAgCEF/Sg0AQQAgCGshCCANQYDAAHIhDQsgEygCACEQDAELQQAhCAJAIBBBUGoiFEEJTQ0AIAEiEygCACEQDAELQQAhCwNAQX8hCAJAIAtBzJmz5gBLDQBBfyALQQpsIgsgFGogFEH/////ByALa0sbIQgLIAEoAgQhECABQQRqIhMhASAIIQsgEEFQaiIUQQpJDQALIAhBAEgNDQtBACESAkAgEEEuRg0AIBMhAQwBCwJAIBMoAgQiC0EqRw0AAkACQCATKAIIQVBqIgtBCUsNACATKAIMQSRHDQAgBCALQQJ0akEKNgIAIBNBEGohASATKAIIQQR0IANqQYB6aigCACEPDAELIAoNAyATQQhqIQECQCAADQBBACEPDAELIAIgAigCACILQQRqNgIAIAsoAgAhDwsgD0F/c0EfdiESDAELIBNBBGohAUEBIRJBACEPIAtBUGoiEEEJSw0AQQAhCwNAQX8hDwJAIAtBzJmz5gBLDQBBfyALQQpsIgsgEGogEEH/////ByALa0sbIQ8LIAEoAgQhECABQQRqIhQhASAPIQsgEEFQaiIQQQpJDQALIBQhAQsDQCAMIQsgASgCAEG/f2oiDEE5Sw0BIAFBBGohASALQTpsIAxqQeDYAGotAAAiDEF/akEISQ0ACyAMRQ0AIAxBG0cNASARQX9MDQILECNBFjYCAEF/IQkMDAsgEUEASA0BIAQgEUECdGogDDYCACAFIAMgEUEEdGoiDCkDADcDoAEgBSAMQQhqKQMANwOoAQsgAA0BDAULAkAgAA0AQQAhCQwKCyAFQaABaiAMIAIQcQsCQCABQXxqKAIAIgxBX3EgDCAMQQ9xQQNGGyAMIAsbIhBBvX9qIgxBMEsNAAJAAkACQAJAAkACQAJAIAwOMQMHBwcHBwcHBwcHBwcHBwcEBwcHBwcHBwcHBwcHBwcHAgcHBwcHBwcHBwUBBwcHBwADCyAFKAKgASEMDAULIAtB/wFxIgxBB0sNCQJAAkACQAJAAkACQAJAIAwOCAABAgMEEAUGAAsgBSgCoAEgCTYCAAwPCyAFKAKgASAJNgIADA4LIAUoAqABIAmsNwMADA0LIAUoAqABIAk7AQAMDAsgBSgCoAEgCToAAAwLCyAFKAKgASAJNgIADAoLIAUoAqABIAmsNwMADAkLIAUoAqABEGggABBnGkEBIQgMCQsgBSgCoAEgABBnGkEBIQgMCAsgBSgCoAEiDEH/////ByAPIA9BAEgbEGkhEAJAIA9Bf0oNACAMIBBBAnRqKAIADQoLIBBBAnRBAnUiCyAIIAggC0gbIQgCQCANQYDAAHENACAFQezXADYCVCAFIAggC2s2AlAgAEHEwAAgBUHQAGoQahogEEUNCANAIAAtAABBIHENCSAMKAIAIAAQZxogDEEEaiEMIAtBf2oiC0UNCQwACwsCQCAQRQ0AIAshDQNAIAAtAABBIHENASAMKAIAIAAQZxogDEEEaiEMIA1Bf2oiDQ0ACwsgBUHs1wA2AmQgBSAIIAtrNgJgIABBxMAAIAVB4ABqEGoaDAcLIAUQIygCABBtIgw2AqABCwJAIAwNAEHt1wAhDCAFQe3XADYCoAELQQAhECAMIQsCQEH/////ByAPIA9BAEgbIhNBAUgNAEEAIRAgDCELAkADQCAFQYwBaiALQQQQbiIUQQFIDQEgCyAUaiELIBMgEEEBaiIQRw0ACyATIRAMAQsgFEEASA0JCwJAIA9Bf0oNACALLQAADQgLIBAgCCAIIBBIGyEIAkAgDUGAwABxIhQNACAFQezXADYChAEgBSAIIBBrNgKAASAAQcTAACAFQYABahBqGgsCQCAQRQ0AIBAhCwNAIAVBjAFqIAxBBBBuIQ0gBSgCjAEgABBnGiAMIA1qIQwgC0F/aiILDQALCyAURQ0FIAVB7NcANgJ0IAUgCCAQazYCcCAAQcTAACAFQfAAahBqGgwFCwJAIA9Bf0oNACASDQcLIAYgEDYCACAHIBBBIHIiDEHf1wBqLAAANgIAIAVBMGpBEGogDUEQdkF/c0EBcUG62ABqNgIAIAUgDUF/c0EBcUG42ABqNgI8IAUgDUENdkF/c0EBcUG22ABqNgI4IAUgDUELdkF/c0EBcUG02ABqNgI0IAUgDUEDdkF/c0EBcUGy2ABqNgIwIAVBkAFqQRBBntgAIAVBMGoQXhogDEGff2oiDEEXSw0DAkBBASAMdCIMQYiCwwRxDQAgDEHxAHFFDQQgBUEQaiAFKQOgATcDACAFQRhqIAUpA6gBNwMAIAUgCDYCACAFIA82AgQgACAFQZABaiAFEGohCAwFCyAFIAg2AiAgBSAPNgIkIAUgBSkDoAE3AyggACAFQZABaiAFQSBqEGohCAwECyAMKAIEIQsgDEEEaiEMDAALCyAADQUCQCAKDQBBACEJDAYLAkACQCAEKAIEIgwNAEEBIQwMAQsgA0EQaiAMIAIQcQJAIAQoAggiDA0AQQIhDAwBCyADQSBqIAwgAhBxAkAgBCgCDCIMDQBBAyEMDAELIANBMGogDCACEHECQCAEKAIQIgwNAEEEIQwMAQsgA0HAAGogDCACEHECQCAEKAIUIgwNAEEFIQwMAQsgA0HQAGogDCACEHECQCAEKAIYIgwNAEEGIQwMAQsgA0HgAGogDCACEHECQCAEKAIcIgwNAEEHIQwMAQsgA0HwAGogDCACEHECQCAEKAIgIgwNAEEIIQwMAQsgA0GAAWogDCACEHECQCAEKAIkIgwNAEEJIQwMAQsgA0GQAWogDCACEHFBASEJDAYLQX8hCSAEIAxBAnRqKAIADQUgBCAMQQFqIgtBAnRqIQwCQANAIAsiAUEKRg0BIAFBAWohCyAMKAIAIQ0gDEEEaiEMIA1FDQALC0F/QQEgAUEKSRshCQwFC0EAIQgLIAggDkwNAAsLECNBywA2AgALQX8hCQsgBUGwAWokACAJC40EAAJAIAFBd2oiAUEPSw0AAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAQ4QAAECBQMEBgcICQoLDA0ODwALIAIgAigCACIBQQRqNgIAIAAgASgCADYCAA8LIAIgAigCACIBQQRqNgIAIAAgATQCADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATUCADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATQCADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATUCADcDAA8LIAIgAigCAEEHakF4cSIBQQhqNgIAIAAgASkDADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATIBADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATMBADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATAAADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATEAADcDAA8LIAIgAigCAEEHakF4cSIBQQhqNgIAIAAgASkDADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATUCADcDAA8LIAIgAigCAEEHakF4cSIBQQhqNgIAIAAgASkDADcDAA8LIAIgAigCAEEHakF4cSIBQQhqNgIAIAAgASkDADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATQCADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATUCADcDAAsLugEBAn8jAEGgA2siBCQAQX8hBSAEIAFBf2o2AgwgBCAANgIIIARBkAJqQQBBkAEQAhogBEGAAjYCwAIgBEEGNgK0AiAEQf8BOgDbAiAEQX82AtwCIAQgBEEQajYCvAIgBCAEQQhqNgLkAgJAIAFFDQBBfyEFAkAgAUF/Sg0AECNBywA2AgAMAQsgBEGQAmogAiADEG8hBSAEQZACakEAQQAQcxogBUF/IAUgAUkbIQULIARBoANqJAAgBQvsAQEFfyAAKAJUIQMCQAJAAkAgACgCHCIEIAFGDQBBfyEFIAAgBCAAKAIUIARrEHNBf0YNAQsgAygCACEGAkAgAkUNACADKAIERQ0AIAIhBANAIAYgASAEEG4iBUEASA0DIAMgAygCBEF/aiIHNgIEIAMgAygCAEEEaiIGNgIAIAQgBWsiBEUNASABIAVqIQEgBw0ACwsgBkEANgIAIAAgACgCLCIDNgIcIAAgAzYCFCAAIAMgACgCMGo2AhAgAiEFCyAFDwsgAygCAEEANgIAIABBADYCHCAAQgA3AxAgACAAKAIAQSByNgIAIAULKQEBfyMAQRBrIgQkACAEIAM2AgwgACABIAIgAxByIQMgBEEQaiQAIAMLBQAQBgALuwEBA38gAEIANwIAIABBCGoiAkEANgIAAkAgAS0AAEEBcQ0AIAAgASkCADcCACACIAFBCGooAgA2AgAgAA8LAkAgASgCBCICQXBPDQAgASgCCCEDAkACQAJAIAJBC0kNACACQRBqQXBxIgQQJiEBIAAgAjYCBCAAIARBAXI2AgAgACABNgIIDAELIAAgAkEBdDoAACAAQQFqIQEgAkUNAQsgASADIAIQBxoLIAEgAmpBADoAACAADwsQBgALzAEBA38CQEFvIAFrIAJJDQACQAJAIAAtAABBAXFFDQAgACgCCCEHDAELIABBAWohBwtBbyEIAkAgAUHm////B0sNAEELIQggAUEBdCIJIAIgAWoiAiACIAlJGyICQQtJDQAgAkEQakFwcSEICyAIECYhAgJAIARFDQAgAiAHIAQQBxoLAkAgAyAFayAEayIDRQ0AIAIgBGogBmogByAEaiAFaiADEAcaCwJAIAFBCkYNACAHECcLIAAgAjYCCCAAIAhBAXI2AgAPCxAGAAvYAgEHfwJAIAFBcE8NAAJAAkAgAC0AACICQQFxRQ0AIAAoAgAiAkF+cUF/aiEDIAAoAgQhBAwBCyACQQF2IQRBCiEDC0EKIQUCQCAEIAEgBCABSxsiAUELSQ0AIAFBEGpBcHFBf2ohBQsCQCAFIANGDQACQAJAIAVBCkcNAEEBIQMgAEEBaiEGIAAoAgghB0EAIQgMAQsgBUEBahAmIQYCQCAFIANLDQAgBkUNAgsCQCAALQAAIgJBAXFFDQAgACgCCCEHQQEhA0EBIQgMAQtBASEIIABBAWohB0EAIQMLAkACQCACQQFxRQ0AIAAoAgQhAQwBCyACQf4BcUEBdiEBCwJAIAFBAWoiAiABSQ0AIAYgByACEAcaCwJAIANFDQAgBxAnCwJAIAhFDQAgACAGNgIIIAAgBDYCBCAAIAVBAWpBAXI2AgAPCyAAIARBAXQ6AAALDwsQBgALpwEBA38CQAJAIAAtAAAiAkEBcSIDDQAgAkEBdiECQQohBAwBCyAAKAIAQX5xQX9qIQQgACgCBCECCwJAAkACQAJAIAIgBEcNACAAIARBASAEIARBAEEAEHcgAC0AAEEBcUUNAQwCCyADDQELIAAgAkEBdEECajoAACAAQQFqIQAMAQsgACACQQFqNgIEIAAoAgghAAsgACACaiIAQQA6AAEgACABOgAACyUBAX9BASEBAkAgAEEgckGff2pBGkkNACAAQVBqQQpJIQELIAELBQAQBgALCgBBACAANwOwXAsCAAuVAgEEfyMAQTBrIgIhAyACJABBACEEAkAQACIFRQ0AAkACQCAFQYAESQ0AIAUQHyEEDAELIAIgBUEPakFwcWsiBCQACyAEIAUQBBoLIAMgBDYCJCADIAQ2AiAgAyAEIAVqNgIoIANBADYCGCADQgA3AxAgA0EgaiADQRBqEH8aIANBADYCCCADQgA3AwAgA0EgaiADEH8aIAMoAhggA0EQakEBciADLQAQIgRBAXEiBRsgAygCFCAEQQF2IAUbIAMoAgggA0EBciADLQAAIgRBAXEiBRsgAygCBCAEQQF2IAUbEAUaAkAgAy0AAEEBcUUNACADKAIIECcLAkAgAy0AEEEBcUUNACADKAIYECcLIANBMGokAAuhAwEFfyMAQSBrIgIkACACQQA2AhggAkIANwMQIAAgAkEQahCAARoCQAJAAkAgAigCFCACKAIQIgNrIgRFDQAgAkEIakEANgIAIAJCADcDACAEQXBPDQICQAJAIARBCksNACACIARBAXQ6AAAgAkEBciEFDAELIARBEGpBcHEiBhAmIQUgAiAENgIEIAIgBkEBcjYCACACIAU2AggLA0AgBSADLQAAOgAAIAVBAWohBSADQQFqIQMgBEF/aiIEDQALIAVBADoAAAJAAkAgAS0AAEEBcQ0AIAFBADsBAAwBCyABKAIIQQA6AAAgAUEANgIEIAEtAABBAXFFDQAgASgCCBAnIAFBADYCAAsgASACKQMANwIAIAFBCGogAkEIaigCADYCAAwBCwJAAkAgAS0AAEEBcQ0AIAFBADsBAAwBCyABKAIIQQA6AAAgAUEANgIEIAEtAABBAXFFDQAgASgCCBAnIAFBADYCAAsgAUEANgIIIAFCADcCAAsCQCACKAIQIgVFDQAgAiAFNgIUIAUQJwsgAkEgaiQAIAAPCyACEHUAC4ACAwF/AX4EfyAAKAIEIQJCACEDQQAhBANAAkAgAiAAKAIISQ0AQQBByMAAEAEgACgCBCECCyACLQAAIQUgACACQQFqIgY2AgQgAyAFQf8AcSAEQf8BcSICdK2EIQMgAkEHaiEEIAYhAiAFQYABcQ0ACwJAAkAgASgCBCIFIAEoAgAiAmsiByADpyIETw0AIAEgBCAHaxCBASAAKAIEIQYgASgCBCEFIAEoAgAhAgwBCyAHIARNDQAgASACIARqIgU2AgQLAkAgACgCCCAGayAFIAJrIgVPDQBBAEH01wAQASAAKAIEIQYLIAIgBiAFEAcaIAAgACgCBCAFajYCBCAAC5gCAQV/AkACQAJAIAAoAggiAiAAKAIEIgNrIAFJDQADQCADQQA6AAAgACAAKAIEQQFqIgM2AgQgAUF/aiIBDQAMAgsLIAMgACgCACIEayIFIAFqIgZBf0wNAUH/////ByEDAkACQCACIARrIgJB/v///wNLDQAgBiACQQF0IgMgAyAGSRsiAw0AQQAhA0EAIQIMAQsgAxAmIQILIAIgA2ohBiACIAVqIgQhAwNAIANBADoAACADQQFqIQMgAUF/aiIBDQALIAQgACgCBCAAKAIAIgFrIgJrIQQCQCACQQFIDQAgBCABIAIQBxogACgCACEBCyAAIAY2AgggACADNgIEIAAgBDYCACABRQ0AIAEQJwsPCyAAEHsACwvMHBgAQZDAAAs8ZmFpbGVkIHRvIGFsbG9jYXRlIHBhZ2VzAAABAgQHAwYFAAAAQAAAAAAAAABAAAAAAAAAACUqcwBnZXQAAEHwwAALgQL/////////////////////////////////////////////////////////////////AAECAwQFBgcICf////////8KCwwNDg8QERITFBUWFxgZGhscHR4fICEiI////////woLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIj/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wBBgMMAC1ggAAAACQAAAAoAAAANAAAACwAAAAwAAACFAAAAACAAAAEgAAACIAAAAyAAAAQgAAAFIAAABiAAAAggAAAJIAAACiAAACggAAApIAAAXyAAAAAwAAAAAAAAAEHgwwALIAoAAABkAAAA6AMAABAnAACghgEAQEIPAICWmAAA4fUFAEGAxAALDBgAAAA1AAAAcQAAAABBjMQACwxr////zvv//5K///8AQaDEAAvIATAwMDEwMjAzMDQwNTA2MDcwODA5MTAxMTEyMTMxNDE1MTYxNzE4MTkyMDIxMjIyMzI0MjUyNjI3MjgyOTMwMzEzMjMzMzQzNTM2MzczODM5NDA0MTQyNDM0NDQ1NDY0NzQ4NDk1MDUxNTI1MzU0NTU1NjU3NTg1OTYwNjE2MjYzNjQ2NTY2Njc2ODY5NzA3MTcyNzM3NDc1NzY3Nzc4Nzk4MDgxODI4Mzg0ODU4Njg3ODg4OTkwOTE5MjkzOTQ5NTk2OTc5ODk5AEHwxQALUAAAAAAAAPA/AAAAAAAAJEAAAAAAAABZQAAAAAAAQI9AAAAAAACIw0AAAAAAAGr4QAAAAACAhC5BAAAAANASY0EAAAAAhNeXQQAAAABlzc1BAEHAxgALFN4SBJUAAAAA////////////////AEHUxgALJEAjAAAUAAAAQy5VVEYtOAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBkMcACxhUIwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQbDHAAtYVCEiGQ0BAgMRSxwMEAQLHRIeJ2hub3BxYiAFBg8TFBUaCBYHKCQXGAkKDhsfJSODgn0mKis8PT4/Q0dKTVhZWltcXV5fYGFjZGVmZ2lqa2xyc3R5ent8AABBkMgAC4wOSWxsZWdhbCBieXRlIHNlcXVlbmNlAERvbWFpbiBlcnJvcgBSZXN1bHQgbm90IHJlcHJlc2VudGFibGUATm90IGEgdHR5AFBlcm1pc3Npb24gZGVuaWVkAE9wZXJhdGlvbiBub3QgcGVybWl0dGVkAE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkATm8gc3VjaCBwcm9jZXNzAEZpbGUgZXhpc3RzAFZhbHVlIHRvbyBsYXJnZSBmb3IgZGF0YSB0eXBlAE5vIHNwYWNlIGxlZnQgb24gZGV2aWNlAE91dCBvZiBtZW1vcnkAUmVzb3VyY2UgYnVzeQBJbnRlcnJ1cHRlZCBzeXN0ZW0gY2FsbABSZXNvdXJjZSB0ZW1wb3JhcmlseSB1bmF2YWlsYWJsZQBJbnZhbGlkIHNlZWsAQ3Jvc3MtZGV2aWNlIGxpbmsAUmVhZC1vbmx5IGZpbGUgc3lzdGVtAERpcmVjdG9yeSBub3QgZW1wdHkAQ29ubmVjdGlvbiByZXNldCBieSBwZWVyAE9wZXJhdGlvbiB0aW1lZCBvdXQAQ29ubmVjdGlvbiByZWZ1c2VkAEhvc3QgaXMgZG93bgBIb3N0IGlzIHVucmVhY2hhYmxlAEFkZHJlc3MgaW4gdXNlAEJyb2tlbiBwaXBlAEkvTyBlcnJvcgBObyBzdWNoIGRldmljZSBvciBhZGRyZXNzAEJsb2NrIGRldmljZSByZXF1aXJlZABObyBzdWNoIGRldmljZQBOb3QgYSBkaXJlY3RvcnkASXMgYSBkaXJlY3RvcnkAVGV4dCBmaWxlIGJ1c3kARXhlYyBmb3JtYXQgZXJyb3IASW52YWxpZCBhcmd1bWVudABBcmd1bWVudCBsaXN0IHRvbyBsb25nAFN5bWJvbGljIGxpbmsgbG9vcABGaWxlbmFtZSB0b28gbG9uZwBUb28gbWFueSBvcGVuIGZpbGVzIGluIHN5c3RlbQBObyBmaWxlIGRlc2NyaXB0b3JzIGF2YWlsYWJsZQBCYWQgZmlsZSBkZXNjcmlwdG9yAE5vIGNoaWxkIHByb2Nlc3MAQmFkIGFkZHJlc3MARmlsZSB0b28gbGFyZ2UAVG9vIG1hbnkgbGlua3MATm8gbG9ja3MgYXZhaWxhYmxlAFJlc291cmNlIGRlYWRsb2NrIHdvdWxkIG9jY3VyAFN0YXRlIG5vdCByZWNvdmVyYWJsZQBQcmV2aW91cyBvd25lciBkaWVkAE9wZXJhdGlvbiBjYW5jZWxlZABGdW5jdGlvbiBub3QgaW1wbGVtZW50ZWQATm8gbWVzc2FnZSBvZiBkZXNpcmVkIHR5cGUASWRlbnRpZmllciByZW1vdmVkAERldmljZSBub3QgYSBzdHJlYW0ATm8gZGF0YSBhdmFpbGFibGUARGV2aWNlIHRpbWVvdXQAT3V0IG9mIHN0cmVhbXMgcmVzb3VyY2VzAExpbmsgaGFzIGJlZW4gc2V2ZXJlZABQcm90b2NvbCBlcnJvcgBCYWQgbWVzc2FnZQBGaWxlIGRlc2NyaXB0b3IgaW4gYmFkIHN0YXRlAE5vdCBhIHNvY2tldABEZXN0aW5hdGlvbiBhZGRyZXNzIHJlcXVpcmVkAE1lc3NhZ2UgdG9vIGxhcmdlAFByb3RvY29sIHdyb25nIHR5cGUgZm9yIHNvY2tldABQcm90b2NvbCBub3QgYXZhaWxhYmxlAFByb3RvY29sIG5vdCBzdXBwb3J0ZWQAU29ja2V0IHR5cGUgbm90IHN1cHBvcnRlZABOb3Qgc3VwcG9ydGVkAFByb3RvY29sIGZhbWlseSBub3Qgc3VwcG9ydGVkAEFkZHJlc3MgZmFtaWx5IG5vdCBzdXBwb3J0ZWQgYnkgcHJvdG9jb2wAQWRkcmVzcyBub3QgYXZhaWxhYmxlAE5ldHdvcmsgaXMgZG93bgBOZXR3b3JrIHVucmVhY2hhYmxlAENvbm5lY3Rpb24gcmVzZXQgYnkgbmV0d29yawBDb25uZWN0aW9uIGFib3J0ZWQATm8gYnVmZmVyIHNwYWNlIGF2YWlsYWJsZQBTb2NrZXQgaXMgY29ubmVjdGVkAFNvY2tldCBub3QgY29ubmVjdGVkAENhbm5vdCBzZW5kIGFmdGVyIHNvY2tldCBzaHV0ZG93bgBPcGVyYXRpb24gYWxyZWFkeSBpbiBwcm9ncmVzcwBPcGVyYXRpb24gaW4gcHJvZ3Jlc3MAU3RhbGUgZmlsZSBoYW5kbGUAUmVtb3RlIEkvTyBlcnJvcgBRdW90YSBleGNlZWRlZABObyBtZWRpdW0gZm91bmQAV3JvbmcgbWVkaXVtIHR5cGUATm8gZXJyb3IgaW5mb3JtYXRpb24AAABBoNYAC8wBAgAAwAMAAMAEAADABQAAwAYAAMAHAADACAAAwAkAAMAKAADACwAAwAwAAMANAADADgAAwA8AAMAQAADAEQAAwBIAAMATAADAFAAAwBUAAMAWAADAFwAAwBgAAMAZAADAGgAAwBsAAMAcAADAHQAAwB4AAMAfAADAAAAAswEAAMMCAADDAwAAwwQAAMMFAADDBgAAwwcAAMMIAADDCQAAwwoAAMMLAADDDAAAww0AANMOAADDDwAAwwAADLsBAAzDAgAMwwMADMMEAAzbAEHt1wALMShudWxsKQBkYXRhc3RyZWFtIGF0dGVtcHRlZCB0byByZWFkIHBhc3QgdGhlIGVuZAAAQZ7YAAsUJSUlcyVzJXMlcyVzKi4qJWMlYwAAQbLYAAsCIwAAQbTYAAsCKwAAQbbYAAsCLQAAQbjYAAsCIAAAQbrYAAsCMAAAQcDYAAsYTAAAakxMTABqAAAAAABqagAAAABqAABqAEHg2AAL0AMZAAoAGRkZAAAAAAUAAAAAAAAJAAAAAAsAAAAAAAAAABkAEQoZGRkDCgcAARsJCxgAAAkGCwAACwAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAoNAAAAAA0AAAIACQ4AAAAJAA4AAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAEwAAAAATAAAAAAkMAAAAAAAMAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAA8AAAAEDwAAAAAJEAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASAAAAAAAAAAAAAAARAAAAABEAAAAACRIAAAAAABIAABIAABoAAAAaGhoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGgAAABoaGgAAAAAAAAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAABcAAAAAFwAAAAAJFAAAAAAAFAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWAAAAAAAAAAAAAAAVAAAAABUAAAAACRYAAAAAABYAABYAAABBAAsEOC4AAA==","type":3},"init_balance":10000000,"priv":{"thresholds":{"tx_threshold":1}}},"type":1}],"source_address":"adxSdqkc8ooYmthwbiCsNogfyRLH51vh4V75P"},"tx_size":48666}]}}
交易执行成功的话,可以在error_desc下的contract_address字段找到新创建的合约账号地址
adxSTCcApdaDd9Q1Uk1cpipSuEnb6U3tSumCb
。
1.5. 调用
前置条件
- curl命令行工具,用于http请求;
- 一个节点的http接口访问权限,节点需要开启C++智能合约功能,这里以127.0.0.1:19333为例,实际部署操作时请替换为实际IP端口;
- ABI转换服务,这里以127.0.0.1:30000为例,实际调用操作时请替换为实际IP端口;
- 一个已经激活的区块链账号私钥,这里以privbwQsGDqGRYuvkFAEQdS8KWxVTA3ynzMxpwLHTtFsy1eySSPTRCmt为例。
准备工作
查询账号交易序号,使用查询命令:
curl http://127.0.0.1:19333/getAccount?address=adxSdqkc8ooYmthwbiCsNogfyRLH51vh4V75P
结果应该返回error_code为0,然后我们在result字段下查询nonce字段信息,如果在返回结果中没有nonce字段,则代表账号从未发送过交易,表示nonce为0;返回结果示例如下:
{
"error_code" : 0,
"result" : {
"address" : "adxSdqkc8ooYmthwbiCsNogfyRLH51vh4V75P",
"assets" : null,
"assets_hash" : "ad67d57ae19de8068dbcd47282146bd553fe9f684c57c8c114453863ee41abc3",
"balance" : 982281169000,
"metadatas" : null,
"metadatas_hash" : "ad67d57ae19de8068dbcd47282146bd553fe9f684c57c8c114453863ee41abc3",
"nonce" : 18,
"priv" : {
"master_weight" : 1,
"thresholds" : {
"tx_threshold" : 1
}
}
}
}
调用流程
-
打开 https://www.json.cn/jsonzip/ 网站, 把编译生成的
store.abi
文件内容复制到输入框中,点击压缩并转义
,生成如下字符串:{\"____comment\":\"This file was generated with wasmio-abigen. DO NOT EDIT \",\"version\":\"wasmio::abi/1.2\",\"types\":[],\"structs\":[{\"name\":\"save\",\"base\":\"\",\"fields\":[{\"name\":\"test_key\",\"type\":\"string\"},{\"name\":\"test_value\",\"type\":\"string\"}]}],\"actions\":[{\"name\":\"save\",\"type\":\"save\",\"ricardian_contract\":\"\"}],\"tables\":[],\"kv_tables\":{},\"ricardian_clauses\":[],\"variants\":[],\"action_results\":[]}
准备接口参数,把上述转换后的字符串添加在
abi
字段位置,保存为tx-call-cpp-abi.json
,示例内容如下:{
"method": "save",
"params": "[\"testKey\",\"testValue\"]",
"abi":"{\"____comment\":\"This file was generated with wasmio-abigen. DO NOT EDIT \",\"version\":\"wasmio::abi/1.2\",\"types\":[],\"structs\":[{\"name\":\"save\",\"base\":\"\",\"fields\":[{\"name\":\"test_key\",\"type\":\"string\"},{\"name\":\"test_value\",\"type\":\"string\"}]}],\"actions\":[{\"name\":\"save\",\"type\":\"save\",\"ricardian_contract\":\"\"}],\"tables\":[],\"kv_tables\":{},\"ricardian_clauses\":[],\"variants\":[],\"action_results\":[]}"
}调用ABI转换服务接口,命令如下:
curl -X "POST" --data-binary "@tx-call-cpp-abi.json" http://127.0.0.1:30000/wasmAbiEncode
返回示例如下:
{
"error_code" : 0,
"error_desc" : "",
"result" : {
"abicode" : "B3Rlc3RLZXkJdGVzdFZhbHVl",
"method" : "save",
"params" : "[\"testKey\",\"testValue\"]"
}
}准备合约调用参数,示例如下:
{
"abicode": "B3Rlc3RLZXkJdGVzdFZhbHVl",
"method": "save"
}打开 https://www.json.cn/jsonzip/ 网站, 把上述调用参数复制到输入框中,点击
压缩并转义
,生成如下字符串:{\"abicode\":\"B3Rlc3RLZXkJdGVzdFZhbHVl\",\"method\":\"save\"}
-
准备交易内容,上一步得到的调用参数填入input参数字段,将下面的交易内容保存到
tx-call-cpp.json
文件,注意:需要把nonce参数+1,表示账号的下一笔交易;{
"items": [
{
"transaction_json": {
"source_address": "adxSdqkc8ooYmthwbiCsNogfyRLH51vh4V75P",
"nonce": 19,
"fee_limit":1500000000,
"gas_price":1000,
"operations": [{
"pay_coin": {
"amount": 0,
"dest_address": "adxSTCcApdaDd9Q1Uk1cpipSuEnb6U3tSumCb",
"input": "{\"abicode\":\"B3Rlc3RLZXkJdGVzdFZhbHVl\",\"method\":\"save\"}"
},
"type": 7
}]
},
"private_keys": ["privbwQsGDqGRYuvkFAEQdS8KWxVTA3ynzMxpwLHTtFsy1eySSPTRCmt"]
}
]
} -
提交交易,把上一步整理好的
tx-call-cpp.json
文件作为POST请求的参数提交到节点curl -X "POST" --data-binary "@tx-call-cpp.json" http://127.0.0.1:19333/submitTransaction
示例返回:
{
"results" : [
{
"error_code" : 0,
"error_desc" : "",
"hash" : "ea0363f3a9da98f41af2a7051b518b28a0b21ae35a4a928c50ffc13ef3c67ea2"
}
],
"success_count" : 1
}提交成功返回交易交易
ea0363f3a9da98f41af2a7051b518b28a0b21ae35a4a928c50ffc13ef3c67ea2
。 -
查询交易状态,向节点提交交易查询请求:
curl http://127.0.0.1:19333/getTransactionHistory?hash=ea0363f3a9da98f41af2a7051b518b28a0b21ae35a4a928c50ffc13ef3c67ea2
示例返回:
{"error_code":0,"result":{"total_count":1,"transactions":[{"actual_fee":448000,"close_time":1712915502585494,"error_code":0,"error_desc":"","hash":"ea0363f3a9da98f41af2a7051b518b28a0b21ae35a4a928c50ffc13ef3c67ea2","ledger_seq":748,"signatures":[{"public_key":"b0011ced68075723ec3bd5db6f7fb4faba33f00f33e374a53806253160bc8f708e8933530369","sign_data":"72de0d348db2f7d92ff9dd05af461dbf629c04451cacbb578689fb320594c40c4da08984308362852b8fbe31ffbc485b6a6c6111bbeb99778ceec21dba12260e"},{"public_key":"b00132c3d1244e0be4d711fb12d5b3d24abeb60f11e8c61c5efe28ad20b793d7fb2402f819e9","sign_data":"aa912843a9f9748e3067a32c717e17c6a69ed5b7c7b506b0af3be2c12e42c8add0916444f6a58d11cbec8629505c989658b6208d9412f533138ea93afb753705"}],"transaction":{"fee_limit":1500000000,"gas_price":1000,"nonce":19,"operations":[{"pay_coin":{"dest_address":"adxSTCcApdaDd9Q1Uk1cpipSuEnb6U3tSumCb","input":"{\"abicode\":\"B3Rlc3RLZXkJdGVzdFZhbHVl\",\"method\":\"save\"}"},"type":7}],"source_address":"adxSdqkc8ooYmthwbiCsNogfyRLH51vh4V75P"},"tx_size":448}]}}
交易执行成功的话,返回数据的error_code应该为0。
-
查询数据,向节点提交合约数据查询请求:
curl http://127.0.0.1:19333/getAccountMetaData?address=adxSTCcApdaDd9Q1Uk1cpipSuEnb6U3tSumCb&key=testKey
示例返回:
{
"error_code" : 0,
"result" : {
"testKey" : {
"key" : "testKey",
"value" : "testValue",
"version" : 1
}
}
}
2. 合约API
2.1. chain::load
获取合约账号的metadata信息
// 该接口可返回存储键为 “key” 参数的存储值。
// @param key: 账户元数据(metadata)的key值,字节长度范围[1,1024]
// @param value: 账户元数据(metadata)的value值,用于接收数据
// @return: 是否成功,-1表示失败,0表示成功
int chain::load(const std::string &key, std::string &value);
// 使用示例
std::string key = "key";
std::string value = "";
if(chain::load(key, value) == 0){
//使用value值
}
else{
//处理失败的情况
}
2.2. chain::store
存储合约账号的metadata 信息
// 该接口设置存储键为"key"的值
// @param key: 账户元数据(metadata)的key值,字节长度范围[1,1024]
// @param value: 账户元数据(metadata)的value值,字节长度范围[0,256*1024]
// @return: 是否成功,0表示成功,失败会抛出交易异常
int chain::store(const std::string &key, const std::string &value);
// 使用示例
std::string key = "key";
std::string value = "hello, value";
chain::store(key, value);
2.3. chain::del
删除合约账号的metadata信息
// 删除key为"key"的值
// @param key: 账户元数据(metadata)的key值,字节长度范围[1,1024]
// @return: 是否成功,0表示成功,失败会抛出交易异常
int chain::del(const std::string &key);
// 使用示例
std::string key = "key";
chain::del(key);
2.4. chain::getBlockHash
获取区块信息
// 删除key为"key"的值
// @param offset_seq: 距离最后一个区块的偏移量,输入范围[0,1024)
// @param block_hash: 结果返回值
// @return: 是否成功,-1表示失败,0表示成功
int chain::getBlockHash(int64_t offset_seq, std::string &block_hash);
// 使用示例
std::string block_hash = "";
int result = chain::getBlockHash(4, block_hash);
if(0 == result){
//use block_hash,如 'c2f6892eb934d56076a49f8b01aeb3f635df3d51aaed04ca521da3494451afb3'
}
else{
//error
}
2.5. chain::tlog
输出交易日志
// 会产生一笔交易写在区块上
// @param topic: 日志主题,字节长度范围(0,128]
// @param args...: 日志的args参数个数范围为[1,5]个,类型字符串,每个参数长度(0,1024]
// @return: 失败会抛出交易异常
void chain::tlog(const std::string &topic, const std::string &args ...);
// 使用示例
chain::tlog('transfer', 'hello-arg1', 'hello-arg2');
2.6. chain::getAccountMetadata
获取指定账号的metadata
// 会产生一笔交易写在区块上
// @param account_address: 账户的地址,字节长度范围[1,1024]
// @param key: 账户的元数据(metadata)key值,字节长度范围[1,1024]
// @param value: 账户元数据(metadata)value值
// @return: 是否成功,-1表示失败,0表示成功
int chain::getAccountMetadata(const std::string &account_address, const std::string &key, std::string &value);
// 使用示例
std::string key = "adxSdqkc8ooYmthwbiCsNogfyRLH51vh4V75P";
std::string value = "";
int result = int chain::getAccountMetadata(key, value);
if(0 == result){
//使用 value 字段,如 'values'
}
else{
//error处理
}
2.7. chain::getBalance
获取账号coin amount
// 会产生一笔交易写在区块上
// @param address: 账户的地址,字节长度范围[1,1024]
// @return: 成功返回账号的余额,其他情况余额为0
int64 chain::getBalance(const std::string &address);
// 使用示例
int64 balance = chain::getBalance('adxSdqkc8ooYmthwbiCsNogfyRLH51vh4V75P');
2.8. chain::payCoin
转账
// 会产生一笔交易写在区块上
// @param address: 发送积分的目标地址,字节长度范围[1,1024]
// @param amount: 发送积分的数量,取值范围[0,9223372036854775807]
// @param method: 合约方法,如果不用触发合约,则可填空;如果有参数,为目标合约的方法
// @param abicode: 合约参数,如果不用触发合约,可填空;如果有合约参数,则使用元组配置参数,并使用pack打包,再转成base64
// @param metadata: 转账备注,调用/getTransactionHistory方法查询交易结果时,显示为十六进制字符串,需要转换为明文。
// @return: 是否成功,0表示成功,失败会抛出交易异常
int chain::payCoin(const std::string &address, int64 amount, const std::string &method, const std::string &abicode, const std::string &metadata);
// 使用示例
int result = chain::payCoin("adxSdqkc8ooYmthwbiCsNogfyRLH51vh4V75P", "10000", "", "vote reward");
if(0 == result){
//成功
}
2.9. chain::block::timestamp
当前区块时间戳
// 会产生一笔交易写在区块上
// @return: 当前交易执行时候所在的区块时间戳。
int64 chain::block::timestamp();
// 使用示例
int64 result = chain::block::timestamp();
chain::store("hello-timestamp", result);
2.10. chain::block::number
当前区块高度
// 会产生一笔交易写在区块上
// @return: 当前交易执行时候所在的区块高度。
int64 chain::block::number();
// 使用示例
int64 result = chain::block::number();
chain::store("hello-number", result);
2.11. chain::tx::initiator
交易的发起者
// 会产生一笔交易写在区块上
// @param initiator: 交易最原始的发起者,即交易的费用付款者。
// @return: 无。
void chain::tx::initiator(std::string &initiator);
// 使用示例
std::string initiator = "";
chain::tx::initiator(initiator);
2.12. chain::tx::sender
交易的触发者
// 会产生一 笔交易写在区块上
// @param sender: 交易最原始的触发者,即交易里触发合约执行的操作的账户。例如某账号发起了一笔交易,该交易中有个操作是调用合约Y(该操作的source_address是x),那么合约Y执行过程中,sender的值就是x账号的地址。
// @return: 无。
void chain::tx::sender(std::string &sender);
// 使用示例
std::string sender = "";
chain::tx::sender(sender);
2.13. chain::tx::gasPrice
交易的gas价格
// 会产生一笔交易写在区块上
// @return: 交易签名里的gas价格。
int64 chain::tx::gasPrice();
// 使用示例
int64 price = 1000;
int64 result = chain::tx::gasPrice();
utils::check(result == price, "Not valid");
2.14. chain::tx::feeLimit
交易的限制费用
// 会产生一笔交易写在区块上
// @return: 交易签名里的fee_limit。
int64 chain::tx::feeLimit();
// 使用示例
int64 fee_limit = 1000000;
int64 result = chain::tx::feeLimit();
utils::check(result == fee_limit, "Not valid");
2.15. chain::tx::hash
交易的哈希值
// 会产生一笔交易写在区块上
// @param hash: 交易的hash值。
// @return: 无。
void chain::tx::hash(std::string &hash);
// 使用示例
std::string hash = "";
chain::tx::hash(hash);
2.16. chain::msg::initiator
消息的发起者
// 会产生一笔交易写在区块上
// @param initiator: 本消息的原始的发起者账号,即交易的费用付款者。
// @return: 无。
void chain::msg::initiator(std::string &initiator);
// 使用示例
std::string initiator = "";
chain::msg::initiator(initiator);
2.17. chain::msg::sender
消息的触发者
// 会产生一笔交易写在区块上
// @param sender: 本次消息的触发者账号,例如某账号发起了一笔交易,该交易中有个操作是调用合约Y(该操作的source_address是x),那么合约Y执行过程中,sender的值就是x账号的地址。
// @return: 无。
void chain::msg::sender(std::string &sender);
// 使用示例
std::string sender = "";
chain::msg::sender(sender);
chain::store("hello-sender", sender);
2.18. chain::msg::coinAmount
本次支付操作的积分
// 会产生一笔交易写在区块上
// @return: 本次支付操作的积分。
int64 chain::msg::coinAmount();
// 使用示例
int64 amount = 1000;
int64 result = chain::msg::coinAmount();
utils::check(result == amount, "Not valid");
2.19. chain::msg::nonce
本次交易里的发起者的nonce值
// 本次交易里的发起者的nonce值,即int chain::msg::initiator()账号的nonce值。
// @return: 本次交易里的发起者的nonce值。
int64 chain::msg::nonce();
// 使用示例
int64 nonce = 10;
int64 result = chain::msg::nonce();
utils::check(result == nonce, "Not valid");
2.20. chain::msg::operationIndex
触发本次合约调用的操作的序号
// 该值等于触发本次合约的操作的序号。
// 例如某账号A发起了一笔交易tx0,tx0中第0(从0开始计数)个操作是给某个合约账户转移资产(调用合约), 那么chain::msg::operationIndex()的值就是0。
// @return: 本次合约的操作的序号。
int64 chain::msg::operationIndex();
// 使用示例
int64 index = 2;
int64 result = chain::msg::operationIndex();
utils::check(result == index, "Not valid");