@layerzerolabs/layerzero-v2-ton 3.0.12-ton.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 +67 -0
- package/README.md +15 -0
- package/build/AllStorages.boc +0 -0
- package/build/AllStorages.compiled.json +1 -0
- package/build/AllStorages.fif +4164 -0
- package/build/AllStorages.test.boc +0 -0
- package/build/AllStorages.test.compiled.json +1 -0
- package/build/AllStorages.test.fif +1831 -0
- package/build/BaseContract.test.boc +0 -0
- package/build/BaseContract.test.compiled.json +1 -0
- package/build/BaseContract.test.fif +3553 -0
- package/build/Channel.boc +0 -0
- package/build/Channel.compiled.json +1 -0
- package/build/Channel.fif +5001 -0
- package/build/Channel.permissions.test.boc +0 -0
- package/build/Channel.permissions.test.compiled.json +1 -0
- package/build/Channel.permissions.test.fif +7569 -0
- package/build/ChannelBurn.test.boc +0 -0
- package/build/ChannelBurn.test.compiled.json +1 -0
- package/build/ChannelBurn.test.fif +7454 -0
- package/build/ChannelCommitPacket.test.boc +0 -0
- package/build/ChannelCommitPacket.test.compiled.json +1 -0
- package/build/ChannelCommitPacket.test.fif +7981 -0
- package/build/ChannelConfig.test.boc +0 -0
- package/build/ChannelConfig.test.compiled.json +1 -0
- package/build/ChannelConfig.test.fif +7442 -0
- package/build/ChannelInitialize.test.boc +0 -0
- package/build/ChannelInitialize.test.compiled.json +1 -0
- package/build/ChannelInitialize.test.fif +7289 -0
- package/build/ChannelMsglibIntegration.test.boc +0 -0
- package/build/ChannelMsglibIntegration.test.compiled.json +1 -0
- package/build/ChannelMsglibIntegration.test.fif +7404 -0
- package/build/ChannelMsglibSendCallback.test.boc +0 -0
- package/build/ChannelMsglibSendCallback.test.compiled.json +1 -0
- package/build/ChannelMsglibSendCallback.test.fif +7711 -0
- package/build/ChannelNilify.test.boc +0 -0
- package/build/ChannelNilify.test.compiled.json +1 -0
- package/build/ChannelNilify.test.fif +7672 -0
- package/build/ChannelReceive.test.boc +0 -0
- package/build/ChannelReceive.test.compiled.json +1 -0
- package/build/ChannelReceive.test.fif +7702 -0
- package/build/ChannelReceiveCallback.test.boc +0 -0
- package/build/ChannelReceiveCallback.test.compiled.json +1 -0
- package/build/ChannelReceiveCallback.test.fif +7549 -0
- package/build/ChannelReceiveView.test.boc +0 -0
- package/build/ChannelReceiveView.test.compiled.json +1 -0
- package/build/ChannelReceiveView.test.fif +7352 -0
- package/build/ChannelSend.test.boc +0 -0
- package/build/ChannelSend.test.compiled.json +1 -0
- package/build/ChannelSend.test.fif +7658 -0
- package/build/Classlib.test.boc +0 -0
- package/build/Classlib.test.compiled.json +1 -0
- package/build/Classlib.test.fif +4728 -0
- package/build/Connection.boc +0 -0
- package/build/Connection.compiled.json +1 -0
- package/build/Connection.fif +3503 -0
- package/build/Connection.test.boc +0 -0
- package/build/Connection.test.compiled.json +1 -0
- package/build/Connection.test.fif +6575 -0
- package/build/Controller.assertions.test.boc +0 -0
- package/build/Controller.assertions.test.compiled.json +1 -0
- package/build/Controller.assertions.test.fif +6130 -0
- package/build/Controller.boc +0 -0
- package/build/Controller.compiled.json +1 -0
- package/build/Controller.fif +3195 -0
- package/build/Controller.permissions.test.boc +0 -0
- package/build/Controller.permissions.test.compiled.json +1 -0
- package/build/Controller.permissions.test.fif +6237 -0
- package/build/Controller.test.boc +0 -0
- package/build/Controller.test.compiled.json +1 -0
- package/build/Controller.test.fif +6400 -0
- package/build/Counter.boc +0 -0
- package/build/Counter.compiled.json +1 -0
- package/build/Counter.fif +4809 -0
- package/build/Counter.permissions.test.boc +0 -0
- package/build/Counter.permissions.test.compiled.json +1 -0
- package/build/Counter.permissions.test.fif +7106 -0
- package/build/Counter.setters.test.boc +0 -0
- package/build/Counter.setters.test.compiled.json +1 -0
- package/build/Counter.setters.test.fif +7083 -0
- package/build/Counter.test.boc +0 -0
- package/build/Counter.test.compiled.json +1 -0
- package/build/Counter.test.fif +7540 -0
- package/build/Dvn.boc +0 -0
- package/build/Dvn.compiled.json +1 -0
- package/build/Dvn.fif +2923 -0
- package/build/Dvn.test.boc +0 -0
- package/build/Dvn.test.compiled.json +1 -0
- package/build/Dvn.test.fif +5753 -0
- package/build/Endpoint.boc +0 -0
- package/build/Endpoint.compiled.json +1 -0
- package/build/Endpoint.fif +3694 -0
- package/build/Endpoint.permissions.test.boc +0 -0
- package/build/Endpoint.permissions.test.compiled.json +1 -0
- package/build/Endpoint.permissions.test.fif +6211 -0
- package/build/Endpoint.test.boc +0 -0
- package/build/Endpoint.test.compiled.json +1 -0
- package/build/Endpoint.test.fif +6899 -0
- package/build/EndpointSetEpConfigDefaults.test.boc +0 -0
- package/build/EndpointSetEpConfigDefaults.test.compiled.json +1 -0
- package/build/EndpointSetEpConfigDefaults.test.fif +6529 -0
- package/build/Executor.boc +0 -0
- package/build/Executor.compiled.json +1 -0
- package/build/Executor.fif +2731 -0
- package/build/Executor.test.boc +0 -0
- package/build/Executor.test.compiled.json +1 -0
- package/build/Executor.test.fif +5822 -0
- package/build/LzClasses.test.boc +0 -0
- package/build/LzClasses.test.compiled.json +1 -0
- package/build/LzClasses.test.fif +4457 -0
- package/build/LzUtil.test.boc +0 -0
- package/build/LzUtil.test.compiled.json +1 -0
- package/build/LzUtil.test.fif +1831 -0
- package/build/MsgData.test.boc +0 -0
- package/build/MsgData.test.compiled.json +1 -0
- package/build/MsgData.test.fif +4318 -0
- package/build/MsglibPacketCodec.test.boc +0 -0
- package/build/MsglibPacketCodec.test.compiled.json +1 -0
- package/build/MsglibPacketCodec.test.fif +4851 -0
- package/build/MultiSig.boc +0 -0
- package/build/MultiSig.compiled.json +1 -0
- package/build/MultiSig.fif +727 -0
- package/build/MultiSigOrder.boc +0 -0
- package/build/MultiSigOrder.compiled.json +1 -0
- package/build/MultiSigOrder.fif +650 -0
- package/build/PipelinedOutOfOrder.test.boc +0 -0
- package/build/PipelinedOutOfOrder.test.compiled.json +1 -0
- package/build/PipelinedOutOfOrder.test.fif +2188 -0
- package/build/SmlConnection.boc +0 -0
- package/build/SmlConnection.compiled.json +1 -0
- package/build/SmlConnection.fif +2517 -0
- package/build/SmlConnection.permissions.test.boc +0 -0
- package/build/SmlConnection.permissions.test.compiled.json +1 -0
- package/build/SmlConnection.permissions.test.fif +5497 -0
- package/build/SmlConnection.test.boc +0 -0
- package/build/SmlConnection.test.compiled.json +1 -0
- package/build/SmlConnection.test.fif +5494 -0
- package/build/SmlManager.boc +0 -0
- package/build/SmlManager.compiled.json +1 -0
- package/build/SmlManager.fif +3904 -0
- package/build/SmlManager.permissions.test.boc +0 -0
- package/build/SmlManager.permissions.test.compiled.json +1 -0
- package/build/SmlManager.permissions.test.fif +6018 -0
- package/build/SmlManager.test.boc +0 -0
- package/build/SmlManager.test.compiled.json +1 -0
- package/build/SmlManager.test.fif +6047 -0
- package/build/Uln.boc +0 -0
- package/build/Uln.compiled.json +1 -0
- package/build/Uln.fif +4841 -0
- package/build/Uln.test.boc +0 -0
- package/build/Uln.test.compiled.json +1 -0
- package/build/Uln.test.fif +7077 -0
- package/build/UlnManager.boc +0 -0
- package/build/UlnManager.compiled.json +1 -0
- package/build/UlnManager.fif +3851 -0
- package/build/UlnManager.test.boc +0 -0
- package/build/UlnManager.test.compiled.json +1 -0
- package/build/UlnManager.test.fif +6571 -0
- package/build/UlnReceiveConfig.test.boc +0 -0
- package/build/UlnReceiveConfig.test.compiled.json +1 -0
- package/build/UlnReceiveConfig.test.fif +4413 -0
- package/build/UlnSend.test.boc +0 -0
- package/build/UlnSend.test.compiled.json +1 -0
- package/build/UlnSend.test.fif +6576 -0
- package/build/UlnSendConfig.test.boc +0 -0
- package/build/UlnSendConfig.test.compiled.json +1 -0
- package/build/UlnSendConfig.test.fif +4431 -0
- package/build/UlnSendWorkerFactory.test.boc +0 -0
- package/build/UlnSendWorkerFactory.test.compiled.json +1 -0
- package/build/UlnSendWorkerFactory.test.fif +6683 -0
- package/build/UlnUtil.test.boc +0 -0
- package/build/UlnUtil.test.compiled.json +1 -0
- package/build/UlnUtil.test.fif +5873 -0
- package/build/WorkerCore.test.boc +0 -0
- package/build/WorkerCore.test.compiled.json +1 -0
- package/build/WorkerCore.test.fif +5630 -0
- package/build/ZroMinter.boc +0 -0
- package/build/ZroMinter.compiled.json +1 -0
- package/build/ZroMinter.fif +2300 -0
- package/build/ZroWallet.boc +0 -0
- package/build/ZroWallet.compiled.json +1 -0
- package/build/ZroWallet.fif +2471 -0
- package/package.json +64 -0
- package/src/classes/lz/Attestation.fc +23 -0
- package/src/classes/lz/Config.fc +23 -0
- package/src/classes/lz/EpConfig.fc +91 -0
- package/src/classes/lz/MsglibInfo.fc +31 -0
- package/src/classes/lz/Packet.fc +202 -0
- package/src/classes/lz/Path.fc +56 -0
- package/src/classes/lz/ReceiveEpConfig.fc +24 -0
- package/src/classes/lz/SendEpConfig.fc +18 -0
- package/src/classes/lz/SmlJobAssigned.fc +20 -0
- package/src/classes/lz/Worker.fc +32 -0
- package/src/classes/msgdata/AddMsglib.fc +18 -0
- package/src/classes/msgdata/Amount.fc +16 -0
- package/src/classes/msgdata/Bool.fc +16 -0
- package/src/classes/msgdata/ChannelNonceInfo.fc +18 -0
- package/src/classes/msgdata/ClaimUnaccountedPoolFunds.fc +0 -0
- package/src/classes/msgdata/CoinsAmount.fc +16 -0
- package/src/classes/msgdata/CounterIncrement.fc +24 -0
- package/src/classes/msgdata/Deploy.fc +20 -0
- package/src/classes/msgdata/ExtendedMd.fc +20 -0
- package/src/classes/msgdata/GetMsglibCallback.fc +18 -0
- package/src/classes/msgdata/InitEndpoint.fc +16 -0
- package/src/classes/msgdata/InitSmlConnection.fc +16 -0
- package/src/classes/msgdata/InitUlnConnection.fc +18 -0
- package/src/classes/msgdata/LzReceiveStatus.fc +58 -0
- package/src/classes/msgdata/LzSend.fc +58 -0
- package/src/classes/msgdata/MdAddress.fc +18 -0
- package/src/classes/msgdata/MdEid.fc +18 -0
- package/src/classes/msgdata/MdObj.fc +18 -0
- package/src/classes/msgdata/MessagingReceipt.fc +22 -0
- package/src/classes/msgdata/MsglibSendCallback.fc +113 -0
- package/src/classes/msgdata/Nonce.fc +16 -0
- package/src/classes/msgdata/OptionsExtended.fc +20 -0
- package/src/classes/msgdata/OptionsV1.fc +27 -0
- package/src/classes/msgdata/OptionsV2.fc +34 -0
- package/src/classes/msgdata/PacketId.fc +18 -0
- package/src/classes/msgdata/PacketSent.fc +39 -0
- package/src/classes/msgdata/SetAddress.fc +16 -0
- package/src/classes/msgdata/SetEpConfig.fc +33 -0
- package/src/classes/msgdata/SetPeer.fc +18 -0
- package/src/classes/msgdata/SetSmlManagerConfig.fc +18 -0
- package/src/funC++/abstract/contractMainAbstract.fc +3 -0
- package/src/funC++/abstract/handlerAbstract.fc +12 -0
- package/src/funC++/actions/call.fc +51 -0
- package/src/funC++/actions/deploy.fc +118 -0
- package/src/funC++/actions/destroy.fc +28 -0
- package/src/funC++/actions/dispatch.fc +57 -0
- package/src/funC++/actions/event.fc +69 -0
- package/src/funC++/actions/payment.fc +52 -0
- package/src/funC++/actions/sendJettons.fc +76 -0
- package/src/funC++/actions/utils.fc +49 -0
- package/src/funC++/baseInterface.fc +16 -0
- package/src/funC++/classlib.fc +819 -0
- package/src/funC++/constants.fc +64 -0
- package/src/funC++/contractMain.fc +84 -0
- package/src/funC++/dataStructures/DeterministicInsertionCircularQueue.fc +155 -0
- package/src/funC++/dataStructures/PipelinedOutOfOrder.fc +93 -0
- package/src/funC++/handlerCore.fc +30 -0
- package/src/funC++/stdlib.fc +625 -0
- package/src/funC++/stringlib.fc +75 -0
- package/src/funC++/txnContext.fc +126 -0
- package/src/funC++/utils.fc +119 -0
- package/src/jettons/zro/minter.fc +120 -0
- package/src/jettons/zro/op-codes.fc +10 -0
- package/src/jettons/zro/params.fc +18 -0
- package/src/jettons/zro/utils.fc +33 -0
- package/src/jettons/zro/wallet.fc +261 -0
- package/tests/baseContractTest.fc +192 -0
- package/tests/testMain.fc +135 -0
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
#include "../../funC++/classlib.fc";
|
|
2
|
+
|
|
3
|
+
;; required storage name
|
|
4
|
+
const int md::CoinsAmount::NAME = "coinsAmt"u;
|
|
5
|
+
|
|
6
|
+
;; field names
|
|
7
|
+
const int md::CoinsAmount::amount = 0;
|
|
8
|
+
|
|
9
|
+
cell md::CoinsAmount::New(int amount) inline method_id {
|
|
10
|
+
return cl::declare(
|
|
11
|
+
md::CoinsAmount::NAME,
|
|
12
|
+
unsafeTuple([
|
|
13
|
+
[cl::t::coins, amount] ;; md::CoinsAmount::amount
|
|
14
|
+
])
|
|
15
|
+
);
|
|
16
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
#include "../../funC++/classlib.fc";
|
|
2
|
+
|
|
3
|
+
;; required storage name
|
|
4
|
+
const int md::CounterIncrement::NAME = "countIncr"u;
|
|
5
|
+
|
|
6
|
+
;; field names
|
|
7
|
+
const int md::CounterIncrement::dstEid = 0;
|
|
8
|
+
const int md::CounterIncrement::incrementType = 1;
|
|
9
|
+
const int md::CounterIncrement::extraOptions = 2; ;; This is a reference to an 'options' md
|
|
10
|
+
const int md::CounterIncrement::nativeFee = 3;
|
|
11
|
+
const int md::CounterIncrement::zroFee = 4;
|
|
12
|
+
|
|
13
|
+
cell md::CounterIncrement::New(int dstEid, int incrementType, cell $extraOptions, int nativeFee, int zroFee) inline method_id {
|
|
14
|
+
return cl::declare(
|
|
15
|
+
md::CounterIncrement::NAME,
|
|
16
|
+
unsafeTuple([
|
|
17
|
+
[cl::t::uint32, dstEid], ;; md::CounterIncrement::dstEid
|
|
18
|
+
[cl::t::uint8, incrementType], ;; md::CounterIncrement::incrementType
|
|
19
|
+
[cl::t::objRef, $extraOptions], ;; md::CounterIncrement::extraOptions
|
|
20
|
+
[cl::t::coins, nativeFee], ;; md::CounterIncrement::nativeFee
|
|
21
|
+
[cl::t::coins, zroFee] ;; md::CounterIncrement::zroFee
|
|
22
|
+
])
|
|
23
|
+
);
|
|
24
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
#include "../../funC++/classlib.fc";
|
|
2
|
+
|
|
3
|
+
;; required storage name
|
|
4
|
+
const int md::Deploy::NAME = "deploy"u;
|
|
5
|
+
|
|
6
|
+
;; field names
|
|
7
|
+
const int md::Deploy::initialDeposit = 0;
|
|
8
|
+
const int md::Deploy::dstEid = 1;
|
|
9
|
+
const int md::Deploy::dstOApp = 2;
|
|
10
|
+
|
|
11
|
+
cell md::Deploy::New(int initialDeposit, int dstEid, int dstOApp) inline method_id {
|
|
12
|
+
return cl::declare(
|
|
13
|
+
md::Deploy::NAME,
|
|
14
|
+
unsafeTuple([
|
|
15
|
+
[cl::t::coins, initialDeposit], ;; md::Deploy::initialDeposit
|
|
16
|
+
[cl::t::uint32, dstEid], ;; md::Deploy::dstEid
|
|
17
|
+
[cl::t::uint256, dstOApp] ;; md::Deploy::dstOApp
|
|
18
|
+
])
|
|
19
|
+
);
|
|
20
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
#include "../../funC++/classlib.fc";
|
|
2
|
+
|
|
3
|
+
;; required storage name
|
|
4
|
+
const int md::ExtendedMd::NAME = "extendedMd"u;
|
|
5
|
+
|
|
6
|
+
;; field names
|
|
7
|
+
const int md::ExtendedMd::md = 0;
|
|
8
|
+
const int md::ExtendedMd::obj = 1;
|
|
9
|
+
const int md::ExtendedMd::forwardingAddress = 2;
|
|
10
|
+
|
|
11
|
+
cell md::ExtendedMd::New(cell $md, cell $obj, int forwardingAddress) inline method_id {
|
|
12
|
+
return cl::declare(
|
|
13
|
+
md::ExtendedMd::NAME,
|
|
14
|
+
unsafeTuple([
|
|
15
|
+
[cl::t::objRef, $md], ;; md::ExtendedMd::md
|
|
16
|
+
[cl::t::objRef, $obj], ;; md::ExtendedMd::obj
|
|
17
|
+
[cl::t::address, forwardingAddress] ;; md::ExtendedMd::forwardingAddress
|
|
18
|
+
])
|
|
19
|
+
);
|
|
20
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
#include "../../funC++/classlib.fc";
|
|
2
|
+
|
|
3
|
+
;; required storage name
|
|
4
|
+
const int md::getMsglibInfoCallback::NAME = "getMsgLbCb"u;
|
|
5
|
+
|
|
6
|
+
;; field names
|
|
7
|
+
const int md::getMsglibInfoCallback::msglibAddress = 0;
|
|
8
|
+
const int md::getMsglibInfoCallback::connectionCode = 1;
|
|
9
|
+
|
|
10
|
+
cell md::getMsglibInfoCallback::New(int msglibAddress, cell connectionCode) inline method_id {
|
|
11
|
+
return cl::declare(
|
|
12
|
+
md::getMsglibInfoCallback::NAME,
|
|
13
|
+
unsafeTuple([
|
|
14
|
+
[cl::t::address, msglibAddress], ;; md::getMsglibInfoCallback::msglibAddress
|
|
15
|
+
[cl::t::cellRef, connectionCode] ;; md::getMsglibInfoCallback::connectionCode
|
|
16
|
+
])
|
|
17
|
+
);
|
|
18
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
#include "../../funC++/classlib.fc";
|
|
2
|
+
|
|
3
|
+
;; required md name
|
|
4
|
+
const int md::InitEndpoint::NAME = "initEp"u;
|
|
5
|
+
|
|
6
|
+
;; field names
|
|
7
|
+
const int md::InitEndpoint::channelCode = 0;
|
|
8
|
+
|
|
9
|
+
cell md::InitEndpoint::New(cell channelCode) inline method_id {
|
|
10
|
+
return cl::declare(
|
|
11
|
+
md::InitEndpoint::NAME,
|
|
12
|
+
unsafeTuple([
|
|
13
|
+
[cl::t::cellRef, channelCode] ;; md::InitEndpoint::channelCode
|
|
14
|
+
])
|
|
15
|
+
);
|
|
16
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
#include "../../funC++/classlib.fc";
|
|
2
|
+
|
|
3
|
+
;; required storage name
|
|
4
|
+
const int md::InitSmlConnection::NAME = "initSmlCon"u;
|
|
5
|
+
|
|
6
|
+
;; field names
|
|
7
|
+
const int md::InitSmlConnection::channelAddress = 0;
|
|
8
|
+
|
|
9
|
+
cell md::InitSmlConnection::New(int channelAddress) inline method_id {
|
|
10
|
+
return cl::declare(
|
|
11
|
+
md::InitSmlConnection::NAME,
|
|
12
|
+
unsafeTuple([
|
|
13
|
+
[cl::t::address, channelAddress] ;; md::InitSmlConnection::channelAddress
|
|
14
|
+
])
|
|
15
|
+
);
|
|
16
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
#include "../../funC++/classlib.fc";
|
|
2
|
+
|
|
3
|
+
;; required storage name
|
|
4
|
+
const int md::InitUlnConnection::NAME = "initUlnCon"u;
|
|
5
|
+
|
|
6
|
+
;; field names
|
|
7
|
+
const int md::InitUlnConnection::ulnSendConfigOApp = 0;
|
|
8
|
+
const int md::InitUlnConnection::UlnReceiveConfigOApp = 1;
|
|
9
|
+
|
|
10
|
+
cell md::InitUlnConnection::New(cell $ulnSendConfigOApp, cell $UlnReceiveConfigOApp) inline method_id {
|
|
11
|
+
return cl::declare(
|
|
12
|
+
md::InitUlnConnection::NAME,
|
|
13
|
+
unsafeTuple([
|
|
14
|
+
[cl::t::objRef, $ulnSendConfigOApp], ;; md::InitUlnConnection::ulnSendConfigOApp
|
|
15
|
+
[cl::t::objRef, $UlnReceiveConfigOApp] ;; md::InitUlnConnection::UlnReceiveConfigOApp
|
|
16
|
+
])
|
|
17
|
+
);
|
|
18
|
+
}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
#include "../lz/Packet.fc";
|
|
2
|
+
#include "../../funC++/classlib.fc";
|
|
3
|
+
|
|
4
|
+
;; required storage name
|
|
5
|
+
const int md::LzReceiveStatus::NAME = "LzRecvSts"u;
|
|
6
|
+
|
|
7
|
+
;; field names
|
|
8
|
+
const int md::LzReceiveStatus::success = 0;
|
|
9
|
+
const int md::LzReceiveStatus::nonce = 1;
|
|
10
|
+
const int md::LzReceiveStatus::value = 2;
|
|
11
|
+
const int md::LzReceiveStatus::extraData = 3;
|
|
12
|
+
const int md::LzReceiveStatus::reason = 4;
|
|
13
|
+
const int md::LzReceiveStatus::sender = 5;
|
|
14
|
+
const int md::LzReceiveStatus::packet = 6;
|
|
15
|
+
const int md::LzReceiveStatus::executionStatus = 7;
|
|
16
|
+
|
|
17
|
+
cell md::LzReceiveStatus::New(int success, int nonce) inline method_id {
|
|
18
|
+
return cl::declare(
|
|
19
|
+
md::LzReceiveStatus::NAME,
|
|
20
|
+
unsafeTuple([
|
|
21
|
+
[cl::t::bool, success], ;; md::LzReceiveStatus::success
|
|
22
|
+
[cl::t::uint64, nonce], ;; md::LzReceiveStatus::nonce
|
|
23
|
+
[cl::t::coins, 0], ;; md::LzReceiveAlert::value
|
|
24
|
+
[cl::t::cellRef, empty_cell()], ;; md::LzReceiveAlert::extraData
|
|
25
|
+
[cl::t::cellRef, empty_cell()], ;; md::LzReceiveAlert::reason
|
|
26
|
+
[cl::t::address, NULLADDRESS], ;; md::LzReceiveAlert::sender
|
|
27
|
+
[cl::t::objRef, cl::nullObject()], ;; md::LzReceiveAlert::packet
|
|
28
|
+
[cl::t::uint8, 0] ;; md::LzReceiveAlert::executionStatus
|
|
29
|
+
])
|
|
30
|
+
);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
cell md::LzReceiveStatus::NewFull(
|
|
34
|
+
int success,
|
|
35
|
+
int nonce,
|
|
36
|
+
int value,
|
|
37
|
+
cell extraData,
|
|
38
|
+
cell reason,
|
|
39
|
+
int sender,
|
|
40
|
+
cell $packet,
|
|
41
|
+
int executionStatus
|
|
42
|
+
) inline method_id {
|
|
43
|
+
lz::Packet::_assertValidLinkedList(extraData, lz::Packet::MAX_RECEIVE_MESSAGE_CELLS);
|
|
44
|
+
lz::Packet::_assertValidLinkedList(reason, lz::Packet::MAX_RECEIVE_MESSAGE_CELLS);
|
|
45
|
+
return cl::declare(
|
|
46
|
+
md::LzReceiveStatus::NAME,
|
|
47
|
+
unsafeTuple([
|
|
48
|
+
[cl::t::bool, success], ;; md::LzReceiveStatus::success
|
|
49
|
+
[cl::t::uint64, nonce], ;; md::LzReceiveStatus::nonce
|
|
50
|
+
[cl::t::coins, value], ;; md::LzReceiveAlert::sendRequestId
|
|
51
|
+
[cl::t::cellRef, extraData], ;; md::LzReceiveAlert::extraData
|
|
52
|
+
[cl::t::cellRef, reason], ;; md::LzReceiveAlert::reason
|
|
53
|
+
[cl::t::address, sender], ;; md::LzReceiveAlert::sender
|
|
54
|
+
[cl::t::objRef, $packet], ;; md::LzReceiveAlert::packet
|
|
55
|
+
[cl::t::uint8, executionStatus] ;; md::LzReceiveAlert::executionStatus
|
|
56
|
+
])
|
|
57
|
+
);
|
|
58
|
+
}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
#include "../../funC++/classlib.fc";
|
|
2
|
+
|
|
3
|
+
;; required storage name
|
|
4
|
+
const int md::LzSend::NAME = "lzSend"u;
|
|
5
|
+
|
|
6
|
+
;; field names
|
|
7
|
+
const int md::LzSend::sendRequestId = 0;
|
|
8
|
+
const int md::LzSend::sendMsglib = 1;
|
|
9
|
+
const int md::LzSend::sendMsglibConnection = 2;
|
|
10
|
+
const int md::LzSend::packet = 3;
|
|
11
|
+
const int md::LzSend::nativeFee = 4;
|
|
12
|
+
const int md::LzSend::zroFee = 5;
|
|
13
|
+
const int md::LzSend::extraOptions = 6;
|
|
14
|
+
const int md::LzSend::enforcedOptions = 7;
|
|
15
|
+
const int md::LzSend::callbackData = 8;
|
|
16
|
+
|
|
17
|
+
cell md::LzSend::New(
|
|
18
|
+
int nativeFee,
|
|
19
|
+
int zroFee,
|
|
20
|
+
cell $extraOptions,
|
|
21
|
+
cell $enforcedOptions,
|
|
22
|
+
cell $packet,
|
|
23
|
+
cell callbackData
|
|
24
|
+
) inline method_id {
|
|
25
|
+
return cl::declare(
|
|
26
|
+
md::LzSend::NAME,
|
|
27
|
+
unsafeTuple([
|
|
28
|
+
[cl::t::uint64, 0], ;; md::LzSend::sendRequestId
|
|
29
|
+
[cl::t::address, NULLADDRESS], ;; md::lzSend::sendMsglib
|
|
30
|
+
[cl::t::address, NULLADDRESS], ;; md::lzSend::sendMsglibConnection
|
|
31
|
+
[cl::t::objRef, $packet], ;; md::LzSend::packet
|
|
32
|
+
[cl::t::coins, nativeFee], ;; md::LzSend::nativeFee
|
|
33
|
+
[cl::t::coins, zroFee], ;; md::LzSend::zroFee
|
|
34
|
+
[cl::t::objRef, $extraOptions], ;; md::LzSend::extraOptions
|
|
35
|
+
[cl::t::objRef, $enforcedOptions], ;; md::LzSend::enforcedOptions
|
|
36
|
+
[cl::t::objRef, callbackData] ;; md::LzSend::callbackData
|
|
37
|
+
])
|
|
38
|
+
);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
const md::lzSend::requestInfoWidth = _HEADER_WIDTH + 64 + 256 + 256;
|
|
42
|
+
;; low-level hacking to set these 3 fields in LzSend
|
|
43
|
+
;; saves about 7000 gas
|
|
44
|
+
cell md::lzSend::fillRequestInfo(
|
|
45
|
+
cell $lzSend,
|
|
46
|
+
int requestId,
|
|
47
|
+
int sendMsglib,
|
|
48
|
+
int sendMsglibConnection
|
|
49
|
+
) inline {
|
|
50
|
+
slice lzSendSlice = $lzSend.begin_parse();
|
|
51
|
+
return begin_cell()
|
|
52
|
+
.store_slice(lzSendSlice.scutfirst(_HEADER_WIDTH, 0))
|
|
53
|
+
.store_uint64(requestId)
|
|
54
|
+
.store_uint256(sendMsglib)
|
|
55
|
+
.store_uint256(sendMsglibConnection)
|
|
56
|
+
.store_slice(lzSendSlice.sskipfirst(md::lzSend::requestInfoWidth, 0))
|
|
57
|
+
.end_cell();
|
|
58
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
#include "../../funC++/classlib.fc";
|
|
2
|
+
|
|
3
|
+
;; required storage name
|
|
4
|
+
const int md::MdAddress::NAME = "MdAddr"u;
|
|
5
|
+
|
|
6
|
+
;; field names
|
|
7
|
+
const int md::MdAddress::md = 0;
|
|
8
|
+
const int md::MdAddress::address = 1;
|
|
9
|
+
|
|
10
|
+
cell md::MdAddress::New(cell $md, int address) inline method_id {
|
|
11
|
+
return cl::declare(
|
|
12
|
+
md::MdAddress::NAME,
|
|
13
|
+
unsafeTuple([
|
|
14
|
+
[cl::t::objRef, $md], ;; md::MdAddress::md
|
|
15
|
+
[cl::t::address, address] ;; md::MdAddress::address
|
|
16
|
+
])
|
|
17
|
+
);
|
|
18
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
#include "../../funC++/classlib.fc";
|
|
2
|
+
|
|
3
|
+
;; required storage name
|
|
4
|
+
const int md::MdEid::NAME = "MdEid"u;
|
|
5
|
+
|
|
6
|
+
;; field names
|
|
7
|
+
const int md::MdEid::md = 0;
|
|
8
|
+
const int md::MdEid::eid = 1;
|
|
9
|
+
|
|
10
|
+
cell md::MdEid::New(cell $md, int eid) inline method_id {
|
|
11
|
+
return cl::declare(
|
|
12
|
+
md::MdEid::NAME,
|
|
13
|
+
unsafeTuple([
|
|
14
|
+
[cl::t::objRef, $md], ;; md::MdEid::md
|
|
15
|
+
[cl::t::uint32, eid] ;; md::MdEid::eid
|
|
16
|
+
])
|
|
17
|
+
);
|
|
18
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
#include "../../funC++/classlib.fc";
|
|
2
|
+
|
|
3
|
+
;; required storage name
|
|
4
|
+
const int md::MdObj::NAME = "MdObj"u;
|
|
5
|
+
|
|
6
|
+
;; field names
|
|
7
|
+
const int md::MdObj::md = 0;
|
|
8
|
+
const int md::MdObj::obj = 1;
|
|
9
|
+
|
|
10
|
+
cell md::MdObj::New(cell $md, cell $obj) inline method_id {
|
|
11
|
+
return cl::declare(
|
|
12
|
+
md::MdObj::NAME,
|
|
13
|
+
unsafeTuple([
|
|
14
|
+
[cl::t::objRef, $md], ;; md::MdObj::md
|
|
15
|
+
[cl::t::objRef, $obj] ;; md::MdObj::obj
|
|
16
|
+
])
|
|
17
|
+
);
|
|
18
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
#include "../../funC++/classlib.fc";
|
|
2
|
+
|
|
3
|
+
;; required storage name
|
|
4
|
+
const int md::MessagingReceipt::NAME = "msgreceipt"u;
|
|
5
|
+
|
|
6
|
+
;; field names
|
|
7
|
+
const int md::MessagingReceipt::lzSend = 0;
|
|
8
|
+
const int md::MessagingReceipt::nativeFeeActual = 1;
|
|
9
|
+
const int md::MessagingReceipt::zroFeeActual = 2;
|
|
10
|
+
const int md::MessagingReceipt::errorCode = 3;
|
|
11
|
+
|
|
12
|
+
cell md::MessagingReceipt::New(cell $lzSend, int nativeFee, int zroFee, int errorCode) inline method_id {
|
|
13
|
+
return cl::declare(
|
|
14
|
+
md::MessagingReceipt::NAME,
|
|
15
|
+
unsafeTuple([
|
|
16
|
+
[cl::t::objRef, $lzSend], ;; md::MessagingReceipt::lzSend
|
|
17
|
+
[cl::t::coins, nativeFee], ;; md::MessagingReceipt::nativeFeeActual
|
|
18
|
+
[cl::t::coins, zroFee], ;; md::MessagingReceipt::zroFeeActual
|
|
19
|
+
[cl::t::uint16, errorCode] ;; md::MessagingReceipt::errorCode
|
|
20
|
+
])
|
|
21
|
+
);
|
|
22
|
+
}
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
#include "../../funC++/classlib.fc";
|
|
2
|
+
|
|
3
|
+
;; required storage name
|
|
4
|
+
const int md::MsglibSendCallback::NAME = "libSndCb"u;
|
|
5
|
+
|
|
6
|
+
;; field names
|
|
7
|
+
const int md::MsglibSendCallback::nativeFee = 0;
|
|
8
|
+
const int md::MsglibSendCallback::zroFee = 1;
|
|
9
|
+
const int md::MsglibSendCallback::lzSend = 2;
|
|
10
|
+
const int md::MsglibSendCallback::packetEncoded = 3;
|
|
11
|
+
const int md::MsglibSendCallback::payees = 4;
|
|
12
|
+
const int md::MsglibSendCallback::nonceByteOffset = 5;
|
|
13
|
+
const int md::MsglibSendCallback::nonceBytes = 6;
|
|
14
|
+
const int md::MsglibSendCallback::guidByteOffset = 7;
|
|
15
|
+
const int md::MsglibSendCallback::guidBytes = 8;
|
|
16
|
+
const int md::MsglibSendCallback::msglibSendEvents = 9;
|
|
17
|
+
const int md::MsglibSendCallback::errorCode = 10;
|
|
18
|
+
|
|
19
|
+
cell md::MsglibSendCallback::New(
|
|
20
|
+
int nativeFee,
|
|
21
|
+
int zroFee,
|
|
22
|
+
cell $lzSend,
|
|
23
|
+
cell packetEncoded,
|
|
24
|
+
cell payees,
|
|
25
|
+
int nonceByteOffset,
|
|
26
|
+
int nonceBytes,
|
|
27
|
+
int guidByteOffset,
|
|
28
|
+
int guidBytes,
|
|
29
|
+
cell $msglibSendEvents,
|
|
30
|
+
int errorCode
|
|
31
|
+
) inline method_id {
|
|
32
|
+
return cl::declare(
|
|
33
|
+
md::MsglibSendCallback::NAME,
|
|
34
|
+
unsafeTuple([
|
|
35
|
+
[cl::t::coins, nativeFee], ;; md::MsglibSendCallback::nativeFee
|
|
36
|
+
[cl::t::coins, zroFee], ;; md::MsglibSendCallback::zroFee
|
|
37
|
+
[cl::t::objRef, $lzSend], ;; md::MsglibSendCallback::lzSend
|
|
38
|
+
[cl::t::cellRef, packetEncoded], ;; md::MsglibSendCallback::packetEncoded
|
|
39
|
+
[cl::t::cellRef, payees], ;; md::MsglibSendCallback::payees
|
|
40
|
+
[cl::t::uint16, nonceByteOffset], ;; md::MsglibSendCallback::nonceByteOffset
|
|
41
|
+
[cl::t::uint8, nonceBytes], ;; md::MsglibSendCallback::nonceBytes
|
|
42
|
+
[cl::t::uint16, guidByteOffset], ;; md::MsglibSendCallback::guidByteOffset
|
|
43
|
+
[cl::t::uint8, guidBytes], ;; md::MsglibSendCallback::guidBytes
|
|
44
|
+
[cl::t::objRef, $msglibSendEvents], ;; md::MsglibSendCallback::msglibEvents
|
|
45
|
+
[cl::t::uint8, errorCode] ;; md::MsglibSendCallback::errorCode
|
|
46
|
+
])
|
|
47
|
+
);
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
const int payeesTuple::addressIdx = 0;
|
|
51
|
+
const int payeesTuple::nativeAmountIdx = 1;
|
|
52
|
+
const int payees::addressBits = 256;
|
|
53
|
+
const int payees::nativeAmountBits = 64;
|
|
54
|
+
const int payees::payeeBits = payees::addressBits + payees::nativeAmountBits;
|
|
55
|
+
|
|
56
|
+
;; Serializes 3 payees (256-bit address => 64-bit TON coin amount) per cell.
|
|
57
|
+
cell serializePayees(tuple payeesInfo) inline {
|
|
58
|
+
int numPayees = payeesInfo.tlen();
|
|
59
|
+
if (numPayees == 0) {
|
|
60
|
+
return empty_cell();
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
builder linkedList = begin_cell();
|
|
64
|
+
tuple curPayee = empty_tuple();
|
|
65
|
+
int idx = 1;
|
|
66
|
+
while (idx <= numPayees) {
|
|
67
|
+
curPayee = payeesInfo.tuple_at(numPayees - idx);
|
|
68
|
+
if (idx % 3 == 0) {
|
|
69
|
+
linkedList = begin_cell()
|
|
70
|
+
.store_ref(linkedList.end_cell())
|
|
71
|
+
.store_uint256(curPayee.int_at(payeesTuple::addressIdx))
|
|
72
|
+
.store_uint64(curPayee.int_at(payeesTuple::nativeAmountIdx));
|
|
73
|
+
} else {
|
|
74
|
+
linkedList = linkedList
|
|
75
|
+
.store_uint256(curPayee.int_at(payeesTuple::addressIdx))
|
|
76
|
+
.store_uint64(curPayee.int_at(payeesTuple::nativeAmountIdx));
|
|
77
|
+
}
|
|
78
|
+
idx += 1;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
return linkedList.end_cell();
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
;; deserializePayees will ignore any bits beyond 960
|
|
85
|
+
tuple deserializePayees(cell serializedPayees) inline {
|
|
86
|
+
slice payeesSlice = serializedPayees.begin_parse();
|
|
87
|
+
if (payeesSlice.slice_empty?()) {
|
|
88
|
+
return empty_tuple();
|
|
89
|
+
}
|
|
90
|
+
tuple payees = empty_tuple();
|
|
91
|
+
while (~ payeesSlice.slice_empty?()) {
|
|
92
|
+
payees = payees.tpush([payeesSlice~load_uint256(), payeesSlice~load_uint64()]);
|
|
93
|
+
|
|
94
|
+
;; can you extract a second one?
|
|
95
|
+
if (payeesSlice.slice_bits() >= (payees::payeeBits)) {
|
|
96
|
+
payees = payees.tpush([payeesSlice~load_uint256(), payeesSlice~load_uint64()]);
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
;; how about a third?
|
|
100
|
+
if (payeesSlice.slice_bits() >= (payees::payeeBits)) {
|
|
101
|
+
payees = payees.tpush([payeesSlice~load_uint256(), payeesSlice~load_uint64()]);
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
if (payeesSlice.slice_refs() > 0) {
|
|
105
|
+
payeesSlice = payeesSlice.preload_first_ref().begin_parse();
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
return payees;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
;; Pop the last payee off the output of deserializePayees
|
|
112
|
+
;; and return the modified payee list and the popped payee.
|
|
113
|
+
(tuple, [int, int]) tpopPayee(tuple t) asm "TPOP";
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
#include "../../funC++/classlib.fc";
|
|
2
|
+
|
|
3
|
+
;; required storage name
|
|
4
|
+
const int md::Nonce::NAME = "nonce"u;
|
|
5
|
+
|
|
6
|
+
;; field names
|
|
7
|
+
const int md::Nonce::nonce = 0;
|
|
8
|
+
|
|
9
|
+
cell md::Nonce::New(int nonce) inline method_id {
|
|
10
|
+
return cl::declare(
|
|
11
|
+
md::Nonce::NAME,
|
|
12
|
+
unsafeTuple([
|
|
13
|
+
[cl::t::uint64, nonce] ;; md::Nonce::nonce
|
|
14
|
+
])
|
|
15
|
+
);
|
|
16
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
#include "../../funC++/classlib.fc";
|
|
2
|
+
|
|
3
|
+
;; required storage name
|
|
4
|
+
const int md::OptionsExtended::NAME = "OptionsExt"u;
|
|
5
|
+
|
|
6
|
+
;; field names
|
|
7
|
+
const int md::OptionsExtended::eid = 0;
|
|
8
|
+
const int md::OptionsExtended::msgType = 1;
|
|
9
|
+
const int md::OptionsExtended::options = 2;
|
|
10
|
+
|
|
11
|
+
cell md::OptionsExtended::New(int eid, int msgType, cell $options) inline method_id {
|
|
12
|
+
return cl::declare(
|
|
13
|
+
md::OptionsExtended::NAME,
|
|
14
|
+
unsafeTuple([
|
|
15
|
+
[cl::t::uint32, eid], ;; md::OptionsExtended::eid
|
|
16
|
+
[cl::t::uint32, msgType], ;; md::OptionsExtended::msgType
|
|
17
|
+
[cl::t::objRef, $options] ;; md::OptionsExtended::options
|
|
18
|
+
])
|
|
19
|
+
);
|
|
20
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
#include "../../funC++/classlib.fc";
|
|
2
|
+
|
|
3
|
+
;; required storage name
|
|
4
|
+
const int md::OptionsV1::NAME = "OptionsV1"u;
|
|
5
|
+
|
|
6
|
+
;; field names
|
|
7
|
+
const int md::OptionsV1::lzReceiveGas = 0;
|
|
8
|
+
const int md::OptionsV1::lzReceiveValue = 1;
|
|
9
|
+
const int md::OptionsV1::nativeDropAddress = 2;
|
|
10
|
+
const int md::OptionsV1::nativeDropAmount = 3;
|
|
11
|
+
|
|
12
|
+
cell md::OptionsV1::New(
|
|
13
|
+
int lzReceiveGas,
|
|
14
|
+
int lzReceiveValue,
|
|
15
|
+
int nativeDropAddress,
|
|
16
|
+
int nativeDropAmount
|
|
17
|
+
) inline method_id {
|
|
18
|
+
return cl::declare(
|
|
19
|
+
md::OptionsV1::NAME,
|
|
20
|
+
unsafeTuple([
|
|
21
|
+
[cl::t::uint256, lzReceiveGas], ;; md::OptionsV1::lzReceiveGas
|
|
22
|
+
[cl::t::uint256, lzReceiveValue], ;; md::OptionsV1::lzReceiveValue
|
|
23
|
+
[cl::t::address, nativeDropAddress], ;; md::OptionsV1::nativeDropAddress
|
|
24
|
+
[cl::t::uint256, nativeDropAmount] ;; md::OptionsV1::nativeDropAmount
|
|
25
|
+
])
|
|
26
|
+
);
|
|
27
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
#include "../../funC++/classlib.fc";
|
|
2
|
+
|
|
3
|
+
;; required storage name
|
|
4
|
+
const int md::OptionsV2::NAME = "OptionsV2"u;
|
|
5
|
+
|
|
6
|
+
;; field names
|
|
7
|
+
const int md::OptionsV2::lzReceiveGas = 0;
|
|
8
|
+
const int md::OptionsV2::lzReceiveValue = 1;
|
|
9
|
+
const int md::OptionsV2::lzComposeGas = 2;
|
|
10
|
+
const int md::OptionsV2::nativeDropAddress = 3;
|
|
11
|
+
const int md::OptionsV2::nativeDropAmount = 4;
|
|
12
|
+
|
|
13
|
+
;; This is used to demonstrate that we are capable of having different options objects
|
|
14
|
+
;; This is not finalized and the 'V2' shouldnt be considered a 'valid' options type in the protocol YET
|
|
15
|
+
;; This is used for testing purposes currently
|
|
16
|
+
|
|
17
|
+
cell md::OptionsV2::New(
|
|
18
|
+
int lzReceiveGas,
|
|
19
|
+
int lzReceiveValue,
|
|
20
|
+
int lzComposeGas,
|
|
21
|
+
int nativeDropAddress,
|
|
22
|
+
int nativeDropAmount
|
|
23
|
+
) inline method_id {
|
|
24
|
+
return cl::declare(
|
|
25
|
+
md::OptionsV2::NAME,
|
|
26
|
+
unsafeTuple([
|
|
27
|
+
[cl::t::uint256, lzReceiveGas], ;; md::OptionsV2::lzReceiveGas
|
|
28
|
+
[cl::t::uint256, lzReceiveValue], ;; md::OptionsV2::lzReceiveValue
|
|
29
|
+
[cl::t::uint256, lzComposeGas], ;; md::OptionsV2::lzComposeGas
|
|
30
|
+
[cl::t::address, nativeDropAddress], ;; md::OptionsV2::nativeDropAddress
|
|
31
|
+
[cl::t::uint256, nativeDropAmount] ;; md::OptionsV2::nativeDropAmount
|
|
32
|
+
])
|
|
33
|
+
);
|
|
34
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
#include "../../funC++/classlib.fc";
|
|
2
|
+
|
|
3
|
+
;; required storage name
|
|
4
|
+
const int md::PacketId::NAME = "pktId"u;
|
|
5
|
+
|
|
6
|
+
;; field names
|
|
7
|
+
const int md::PacketId::path = 0;
|
|
8
|
+
const int md::PacketId::nonce = 1;
|
|
9
|
+
|
|
10
|
+
cell md::PacketId::New(cell $path, int nonce) inline method_id {
|
|
11
|
+
return cl::declare(
|
|
12
|
+
md::PacketId::NAME,
|
|
13
|
+
unsafeTuple([
|
|
14
|
+
[cl::t::objRef, $path], ;; md::PacketId::path
|
|
15
|
+
[cl::t::uint64, nonce] ;; md::PacketId::nonce
|
|
16
|
+
])
|
|
17
|
+
);
|
|
18
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
#include "../../funC++/classlib.fc";
|
|
2
|
+
|
|
3
|
+
;; required storage name
|
|
4
|
+
const int md::PacketSent::NAME = "pktSent"u;
|
|
5
|
+
|
|
6
|
+
;; field names
|
|
7
|
+
const int md::PacketSent::nativeFee = 0;
|
|
8
|
+
const int md::PacketSent::zroFee = 1;
|
|
9
|
+
const int md::PacketSent::extraOptions = 2;
|
|
10
|
+
const int md::PacketSent::enforcedOptions = 3;
|
|
11
|
+
const int md::PacketSent::packetEncoded = 4;
|
|
12
|
+
const int md::PacketSent::nonce = 5;
|
|
13
|
+
const int md::PacketSent::msglibAddress = 6;
|
|
14
|
+
const int md::PacketSent::msglibSendEvents = 7;
|
|
15
|
+
|
|
16
|
+
cell md::PacketSent::New(
|
|
17
|
+
int nativeFee,
|
|
18
|
+
int zroFee,
|
|
19
|
+
cell $extraOptions,
|
|
20
|
+
cell $enforcedOptions,
|
|
21
|
+
cell packetEncoded,
|
|
22
|
+
int nonce,
|
|
23
|
+
int msglibAddress,
|
|
24
|
+
cell $msglibSendEvents
|
|
25
|
+
) inline method_id {
|
|
26
|
+
return cl::declare(
|
|
27
|
+
md::PacketSent::NAME,
|
|
28
|
+
unsafeTuple([
|
|
29
|
+
[cl::t::coins, nativeFee], ;; md::PacketSent::nativeFee
|
|
30
|
+
[cl::t::coins, zroFee], ;; md::PacketSent::zroFee
|
|
31
|
+
[cl::t::objRef, $extraOptions], ;; md::PacketSent::extraOptions
|
|
32
|
+
[cl::t::objRef, $enforcedOptions], ;; md::PacketSent::enforcedOptions
|
|
33
|
+
[cl::t::cellRef, packetEncoded], ;; md::PacketSent::packetEncoded
|
|
34
|
+
[cl::t::uint64, nonce], ;; md::PacketSent::nonce
|
|
35
|
+
[cl::t::address, msglibAddress], ;; md::PacketSent::msglibAddress
|
|
36
|
+
[cl::t::objRef, $msglibSendEvents] ;; md::PacketSent::msglibEvents
|
|
37
|
+
])
|
|
38
|
+
);
|
|
39
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
#include "../../funC++/classlib.fc";
|
|
2
|
+
|
|
3
|
+
;; required storage name
|
|
4
|
+
const int md::SetAddress::NAME = "setAddress"u;
|
|
5
|
+
|
|
6
|
+
;; field names
|
|
7
|
+
const int md::SetAddress::address = 0;
|
|
8
|
+
|
|
9
|
+
cell md::SetAddress::New(int address) inline method_id {
|
|
10
|
+
return cl::declare(
|
|
11
|
+
md::SetAddress::NAME,
|
|
12
|
+
unsafeTuple([
|
|
13
|
+
[cl::t::address, address] ;; md::SetAddress::owner
|
|
14
|
+
])
|
|
15
|
+
);
|
|
16
|
+
}
|