@aeternity/aepp-calldata
Version:
Aeternity data serialization library
317 lines (316 loc) • 8.46 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.FateTypeVoid = exports.FateTypeVariant = exports.FateTypeVar = exports.FateTypeType = exports.FateTypeTuple = exports.FateTypeString = exports.FateTypeSignature = exports.FateTypeSet = exports.FateTypeRecord = exports.FateTypeOracleQueryAddress = exports.FateTypeOracleAddress = exports.FateTypeOption = exports.FateTypeMap = exports.FateTypeList = exports.FateTypeInt = exports.FateTypeHash = exports.FateTypeEvent = exports.FateTypeContractBytearray = exports.FateTypeContractAddress = exports.FateTypeChannelAddress = exports.FateTypeChainTTL = exports.FateTypeChainPayingForTx = exports.FateTypeChainGAMetaTx = exports.FateTypeChainBaseTx = exports.FateTypeCalldata = exports.FateTypeBytes = exports.FateTypeByteArray = exports.FateTypeBool = exports.FateTypeBls12381Fr = exports.FateTypeBls12381Fp = exports.FateTypeBits = exports.FateTypeAny = exports.FateTypeAccountAddress = exports.FateTypeAENSv2Pointee = exports.FateTypeAENSv2Name = exports.FateTypeAENSPointee = exports.FateTypeAENSName = void 0;
const FateTypeVoid = () => {
return {
name: 'void'
};
};
exports.FateTypeVoid = FateTypeVoid;
const FateTypeInt = () => {
return {
name: 'int'
};
};
exports.FateTypeInt = FateTypeInt;
const FateTypeBool = () => {
return {
name: 'bool'
};
};
exports.FateTypeBool = FateTypeBool;
const FateTypeString = () => {
return {
name: 'string'
};
};
exports.FateTypeString = FateTypeString;
const FateTypeBits = () => {
return {
name: 'bits'
};
};
exports.FateTypeBits = FateTypeBits;
const FateTypeBytes = size => {
return {
name: 'bytes',
size
};
};
exports.FateTypeBytes = FateTypeBytes;
const FateTypeHash = () => {
return {
name: 'hash'
};
};
exports.FateTypeHash = FateTypeHash;
const FateTypeSignature = () => {
return {
name: 'signature'
};
};
exports.FateTypeSignature = FateTypeSignature;
const FateTypeAccountAddress = () => {
return {
name: 'account_pubkey'
};
};
exports.FateTypeAccountAddress = FateTypeAccountAddress;
const FateTypeContractAddress = () => {
return {
name: 'contract_pubkey'
};
};
exports.FateTypeContractAddress = FateTypeContractAddress;
const FateTypeChannelAddress = () => {
return {
name: 'channel'
};
};
exports.FateTypeChannelAddress = FateTypeChannelAddress;
const FateTypeOracleAddress = (questionType, answerType) => {
return {
name: 'oracle_pubkey',
questionType,
answerType
};
};
exports.FateTypeOracleAddress = FateTypeOracleAddress;
const FateTypeOracleQueryAddress = (questionType, answerType) => {
return {
name: 'oracle_query_id',
questionType,
answerType
};
};
exports.FateTypeOracleQueryAddress = FateTypeOracleQueryAddress;
const FateTypeByteArray = () => {
return {
name: 'byte_array'
};
};
exports.FateTypeByteArray = FateTypeByteArray;
const FateTypeList = valuesType => {
return {
name: 'list',
valuesType
};
};
exports.FateTypeList = FateTypeList;
const FateTypeTuple = (valueTypes = []) => {
return {
name: 'tuple',
valueTypes
};
};
exports.FateTypeTuple = FateTypeTuple;
const FateTypeRecord = (keys, valueTypes) => {
return {
name: 'record',
keys,
valueTypes
};
};
exports.FateTypeRecord = FateTypeRecord;
const FateTypeSet = valuesType => {
return {
name: 'set',
valuesType
};
};
exports.FateTypeSet = FateTypeSet;
const FateTypeMap = (keyType, valueType) => {
return {
name: 'map',
keyType,
valueType
};
};
exports.FateTypeMap = FateTypeMap;
const FateTypeVariant = variants => {
return {
name: 'variant',
variants
};
};
exports.FateTypeVariant = FateTypeVariant;
const FateTypeType = type => {
return {
name: 'type',
type
};
};
exports.FateTypeType = FateTypeType;
const FateTypeOption = valueTypes => {
const variants = [{
None: []
}, {
Some: valueTypes
}];
return FateTypeVariant(variants);
};
exports.FateTypeOption = FateTypeOption;
const FateTypeChainTTL = () => {
const variants = [{
RelativeTTL: [FateTypeInt()]
}, {
FixedTTL: [FateTypeInt()]
}];
return FateTypeVariant(variants);
};
exports.FateTypeChainTTL = FateTypeChainTTL;
const FateTypeChainGAMetaTx = () => {
const variants = [{
'Chain.GAMetaTx': [FateTypeAccountAddress(), FateTypeInt()]
}];
return FateTypeVariant(variants);
};
exports.FateTypeChainGAMetaTx = FateTypeChainGAMetaTx;
const FateTypeChainPayingForTx = () => {
const variants = [{
'Chain.PayingForTx': [FateTypeAccountAddress(), FateTypeInt()]
}];
return FateTypeVariant(variants);
};
exports.FateTypeChainPayingForTx = FateTypeChainPayingForTx;
const FateTypeChainBaseTx = () => {
const variants = [{
'Chain.SpendTx': [FateTypeAccountAddress(), FateTypeInt(), FateTypeString()]
}, {
'Chain.OracleRegisterTx': []
}, {
'Chain.OracleQueryTx': []
}, {
'Chain.OracleResponseTx': []
}, {
'Chain.OracleExtendTx': []
}, {
'Chain.NamePreclaimTx': []
}, {
'Chain.NameClaimTx': [FateTypeString()]
}, {
'Chain.NameUpdateTx': [FateTypeHash()]
}, {
'Chain.NameRevokeTx': [FateTypeHash()]
}, {
'Chain.NameTransferTx': [FateTypeAccountAddress(), FateTypeHash()]
}, {
'Chain.ChannelCreateTx': [FateTypeAccountAddress()]
}, {
'Chain.ChannelDepositTx': [FateTypeAccountAddress(), FateTypeInt()]
}, {
'Chain.ChannelWithdrawTx': [FateTypeAccountAddress(), FateTypeInt()]
}, {
'Chain.ChannelForceProgressTx': [FateTypeAccountAddress()]
}, {
'Chain.ChannelCloseMutualTx': [FateTypeAccountAddress()]
}, {
'Chain.ChannelCloseSoloTx': [FateTypeAccountAddress()]
}, {
'Chain.ChannelSlashTx': [FateTypeAccountAddress()]
}, {
'Chain.ChannelSettleTx': [FateTypeAccountAddress()]
}, {
'Chain.ChannelSnapshotSoloTx': [FateTypeAccountAddress()]
}, {
'Chain.ContractCreateTx': [FateTypeAccountAddress()]
}, {
'Chain.ContractCallTx': [FateTypeAccountAddress(), FateTypeInt()]
}, {
'Chain.GAAttachTx': []
}];
return FateTypeVariant(variants);
};
exports.FateTypeChainBaseTx = FateTypeChainBaseTx;
const FateTypeAENSPointee = () => {
const variants = [{
'AENS.AccountPt': [FateTypeAccountAddress()]
}, {
'AENS.OraclePt': [FateTypeAccountAddress()]
}, {
'AENS.ContractPt': [FateTypeAccountAddress()]
}, {
'AENS.ChannelPt': [FateTypeAccountAddress()]
}];
return FateTypeVariant(variants);
};
exports.FateTypeAENSPointee = FateTypeAENSPointee;
const FateTypeAENSv2Pointee = () => {
const variants = [{
'AENSv2.AccountPt': [FateTypeAccountAddress()]
}, {
'AENSv2.OraclePt': [FateTypeAccountAddress()]
}, {
'AENSv2.ContractPt': [FateTypeAccountAddress()]
}, {
'AENSv2.ChannelPt': [FateTypeAccountAddress()]
}, {
'AENSv2.DataPt': [FateTypeBytes()]
} // max 1024 bytes
];
return FateTypeVariant(variants);
};
exports.FateTypeAENSv2Pointee = FateTypeAENSv2Pointee;
const FateTypeAENSName = () => {
const variants = [{
'AENS.Name': [FateTypeAccountAddress(), FateTypeChainTTL(), FateTypeMap(FateTypeString(), FateTypeAENSPointee())]
}];
return FateTypeVariant(variants);
};
exports.FateTypeAENSName = FateTypeAENSName;
const FateTypeAENSv2Name = () => {
const variants = [{
'AENSv2.Name': [FateTypeAccountAddress(), FateTypeChainTTL(), FateTypeMap(FateTypeString(), FateTypeAENSv2Pointee())]
}];
return FateTypeVariant(variants);
};
exports.FateTypeAENSv2Name = FateTypeAENSv2Name;
const FateTypeEvent = (variantType, topics) => {
return {
name: 'event',
variantType,
topics
};
};
exports.FateTypeEvent = FateTypeEvent;
const FateTypeBls12381Fr = () => {
return {
name: 'bls12_381.fr'
};
};
exports.FateTypeBls12381Fr = FateTypeBls12381Fr;
const FateTypeBls12381Fp = () => {
return {
name: 'bls12_381.fp'
};
};
exports.FateTypeBls12381Fp = FateTypeBls12381Fp;
const FateTypeCalldata = (functionName, argumentTypes) => {
return {
name: 'calldata',
functionName,
argumentTypes
};
};
exports.FateTypeCalldata = FateTypeCalldata;
const FateTypeContractBytearray = () => {
return {
name: 'contract_bytearray'
};
};
exports.FateTypeContractBytearray = FateTypeContractBytearray;
const FateTypeVar = id => {
return {
name: 'tvar',
id
};
};
exports.FateTypeVar = FateTypeVar;
const FateTypeAny = () => {
return {
name: 'any'
};
};
exports.FateTypeAny = FateTypeAny;